Samba jako PDC
Z wiki linux-user
m |
m (→Konfiguracja) |
||
Linia 9: | Linia 9: | ||
=== Instalacja === | === Instalacja === | ||
− | W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji | + | W moim przypadku pakiet '''Samba''' wraz z oprogramowaniem takim jak '''smbclient''' czy '''samba-common''' został zainstalowany wraz z instalacją systemu w wersji 3.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie |
sudo apt-get install samba* | sudo apt-get install samba* | ||
po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby. | po wydaniu powyższego polecenia powinieneś mieć zainstalowane wszystkie potrzebne pakiety samby. | ||
Linia 41: | Linia 41: | ||
idmap gid = 15000-20000 | idmap gid = 15000-20000 | ||
admin users = root | admin users = root | ||
− | encrypt passwords = yes | + | encrypt passwords = yes #szyfrowanie haseł |
− | + | logon home = %L%UNetlogon | |
− | logon home = %L% | + | |
logon path = | logon path = | ||
− | logon drive = | + | logon script = logon.bat |
+ | logon drive = N: | ||
nt pipe support = yes | nt pipe support = yes | ||
nt acl support = no | nt acl support = no | ||
Linia 57: | Linia 57: | ||
getwd cache = yes | getwd cache = yes | ||
# buforowanie zapisu plików zdecydownaie poprawia predkosc | # buforowanie zapisu plików zdecydownaie poprawia predkosc | ||
+ | time server = yes | ||
[home] | [home] | ||
comment = Home | comment = Home | ||
− | path = % | + | path = /home/samba/users/%U |
read only = No | read only = No | ||
browsable = yes | browsable = yes | ||
Linia 69: | Linia 70: | ||
path = /home/samba/netlogon | path = /home/samba/netlogon | ||
browsable = no | browsable = no | ||
− | read only = | + | read only = yes |
public = no | public = no | ||
[profile] | [profile] | ||
Linia 85: | Linia 86: | ||
read only = No | read only = No | ||
public = yes | public = yes | ||
+ | [Muzyka] | ||
+ | comment = Katalog z muzyka #komentarz | ||
+ | path = /home/samba/muzyka #ścieżka na serwerze do katalogu | ||
+ | browsable = yes #możliwy do przeszukiwania | ||
+ | writable = yes #zapisywalny | ||
+ | read only = no #tylko do odczytu | ||
+ | force create mode = 0770 #wymuszamy tworzenie plików z odpowiednimi prawami | ||
+ | force group = smbusers #wszystkie dodane pliki będą w grupie | ||
+ | |||
[kowalski] | [kowalski] | ||
path = /home/kowalski/ | path = /home/kowalski/ | ||
Linia 96: | Linia 106: | ||
sudo mkdir /home/samba/profiles | sudo mkdir /home/samba/profiles | ||
sudo mkdir /home/samba/allusers | sudo mkdir /home/samba/allusers | ||
+ | sudo mkdir /home/samba/muzyka | ||
+ | sudo mkdir /home/slawek/users/kowalski | ||
ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.<br /> | ostatnia sekcja ''[kowalski]'' jest przeznaczona tylko dla użytkownika kowalski i taki również użytkownik musi istnieć w systemie z katalogiem domowym znajdującym się w ścieżce ''/home/kowalski''.<br /> | ||
Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.<br /> | Następnie tworzymy grupę dla użytkowników, którzy będą korzystać z serwera Samba, dajemy odpowiednie uprawnienia do katalogów oraz tworzymy użytkowników i maszyny.<br /> | ||
Dodajemy grupę o nazwie ''samba'' | Dodajemy grupę o nazwie ''samba'' | ||
− | sudo groupadd | + | sudo groupadd smbusers |
zmieniamy prawa do katalogów | zmieniamy prawa do katalogów | ||
− | sudo chown -R root: | + | sudo chown -R root:smbusers /home/samba/ |
sudo chmod 774 /home/samba/allusers/ | sudo chmod 774 /home/samba/allusers/ | ||
sudo chmod 770 /home/samba/profiles/ | sudo chmod 770 /home/samba/profiles/ | ||
− | sudo chmod | + | sudo chmod 750 /home/samba/netlogon/ |
− | + | sudo chmod 770 /home/samba/muzyka/ | |
− | sudo | + | sudo chown root:smbusers /home/samba/muzyka/ |
− | + | sudo chmod 700 /home/samba/users/kowalski | |
− | + | sudo chown kowalski:smbusers /home/samba/users/kowalski | |
− | + | sudo chown root:smbusers /home/samba/netlogon #pamiętać aby dać prawa do wykonania grupie dla pliku logon.bat | |
− | + | Katalogi musimy tworzyć dla każdego użytkownika z ręki lub podczas dodawania użytkownika do systemu za pomocą polecenia [[useradd]] z opcją '''-d /katalog/usera'''. Katalogi jak i nazwy grup powinieneś dostosować do własnych preferencji. Do konfigurowania samby możesz również użyć opcji, które zostały przedstawione na stronie [[samba]]. <br /> | |
+ | |||
+ | === Profil lokalny a mobilny === | ||
+ | Profil lokalny czyli wszystkie ustawienia oraz pliki z profilów użytkowników samby są przechowywane na lokalnej maszynie każdego użytkownika, natomiast z profilami mobilnymi jest dokładnie odwrotnie. Sprawę związaną z profilami rozwiązujemy poleceniem | ||
+ | logon path = | ||
+ | w pliku konfiguracyjnym samby. Jeśli zostawimy tą opcję pustą to będziemy mieli sambę z domeną i profilami lokalnymi. Jeśli powyższa obcja będzie wyglądać następująco | ||
+ | logon path = %L%UProfile | ||
+ | utworzymy dla naszej domeny profile mobilne (dynamiczna ścieżka dla profili, systemu Windows NT/XP/2000/2003), pamiętaj, że musi istnieć zasób samby ''[Profile]''. | ||
+ | === Użytkownicy === | ||
+ | Na początku zakładamy konto dla użytkownika [[root]] będziemy go potrzebowali jedynie do kontaktowania się z serwerem samby na początku zakładania domeny np w systemie Windows. | ||
+ | smbpasswd -a root | ||
+ | Dla każdego użytkownika musimy dodać tzw maszyne zaufania czyli komputer + użytkownika bez dostępu do powłoki | ||
+ | zakładamy grupę dla maszyn | ||
sudo groupadd samba-machines | sudo groupadd samba-machines | ||
− | + | dodajemy zwykłego użytkownika systemu | |
− | + | useradd kowalski | |
+ | nadajemy mu hasło | ||
+ | passwd kowalski | ||
+ | dodajemy komputer użytkownika do samby | ||
+ | smbpasswd -a -m kowalski | ||
+ | dodajemy użytkownika do samby | ||
+ | smbpasswd -a kowalski | ||
+ | taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby oczywiście bez zakładania nowych grup. | ||
+ | |||
restartujemy sambę | restartujemy sambę | ||
sudo service smbd restart | sudo service smbd restart | ||
to samo robimy z demonem nmbd | to samo robimy z demonem nmbd | ||
sudo service nmbd restart | sudo service nmbd restart | ||
+ | i uruchamiamy winbinda | ||
+ | sudo service winbind start | ||
+ | uruchamiamy sambę przy wstawaniu systemu | ||
+ | chkconfig smbd on | ||
+ | oraz | ||
+ | chkconfig nmbd on | ||
+ | i | ||
+ | chkconfig winbind on | ||
+ | Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem | ||
+ | sudo apt-get install chkconfig | ||
+ | |||
+ | === Inne === | ||
+ | Ciekawym rozwiązaniem jest polecenie '''pdbedit''', którym możemy np wymuszać czas po jakim musi zostać zmienione hasło dla użytkownika, co jaki czas może powtarzać się ostatnio skonfigurowane hasło i wiele innych najciekawsze z nich to | ||
+ | *wymuszenie zmiany hasła dla użytkowników samby co 60 dni | ||
+ | pdbedit -P "maximum password age" -C 518400 #(60dni) | ||
+ | *wypisanie danych o użytkowniku | ||
+ | pdbedit -Lv kowalski | ||
+ | WARNING: The "idmap uid" option is deprecated | ||
+ | WARNING: The "idmap gid" option is deprecated | ||
+ | Server's Role (logon server) NOT ADVISED with domain-level security | ||
+ | Forcing Primary Group to 'Domain Users' for kowalski | ||
+ | Unix username: kowalski | ||
+ | NT username: | ||
+ | Account Flags: [U ] | ||
+ | User SID: S-1-5-21-1251109636-2657097270-4275611531-1003 | ||
+ | Primary Group SID: S-1-5-21-1251109636-2657097270-4275611531-513 | ||
+ | Full Name: Uzytkownik samba | ||
+ | Home Directory: fs-ubuntukowalskiprofile | ||
+ | HomeDir Drive: H: | ||
+ | Logon Script: | ||
+ | Profile Path: | ||
+ | Domain: LINUX | ||
+ | Account desc: | ||
+ | Workstations: | ||
+ | Munged dial: | ||
+ | Logon time: 0 | ||
+ | Logoff time: śro, 06 lut 2036 16:06:39 CET | ||
+ | Kickoff time: śro, 06 lut 2036 16:06:39 CET | ||
+ | Password last set: wto, 26 cze 2012 17:32:57 CEST | ||
+ | Password can change: wto, 26 cze 2012 17:32:57 CEST | ||
+ | Password must change: never | ||
+ | Last bad password : 0 | ||
+ | Bad password count : 0 | ||
+ | Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF | ||
+ | *minimalna długość hasła | ||
+ | pdbedit -P "min password length" -C 8 | ||
+ | *co ile zmian haseł, hasło może się powtórzyć | ||
+ | pdbedit -P "password history" -C 4 | ||
+ | *maksymalna ilość błędnych logowań | ||
+ | pdbedit -P "bad lockout attempt" -C 8 | ||
+ | i wiele innych, dla wyjaśnienia | ||
+ | '''Samba Policy Controls''' | ||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! NT4 policy Name !! Samba Policy Name !! NT4 Range !! Samba Range !! Samba Default | ||
+ | |- | ||
+ | | Maximum Password Age || maximum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 4294967295 | ||
+ | |- | ||
+ | | Minimum Password Age || minimum password age || 0 - 999 (days) || 0 - 4294967295 (sec) || 0 | ||
+ | |- | ||
+ | | Mimimum Password Length || min password length || 1 - 14 (Chars) || 0 - 4294967295 (Chars) || 5 | ||
+ | |- | ||
+ | | Password Uniqueness || password history || 0 - 23 (#) || 0 - 4294967295 (#) || 0 | ||
+ | |- | ||
+ | | Account Lockout - Reset count after || reset count minutes || 1 - 99998 (min) || 0 - 4294967295 (min) || 30 | ||
+ | |- | ||
+ | | Lockout after bad logon attempts || bad lockout attempt || 0 - 998 (#) || 0 - 4294967295 (#) || 0 | ||
+ | |- | ||
+ | | Lockout Duration || lockout duration || 1 - 99998 (min) || 0 - 4294967295 (min) || 30 | ||
+ | |- | ||
+ | | Users must log on in order to change password || user must logon to change password || 0/1 || 0 - 4294967295 || 0 | ||
+ | |- | ||
+ | | *** Registry Setting *** || refuse machine password change || 0/1 || 0 - 4294967295 || 0 | ||
+ | |} | ||
+ | == Skrypt logon.bat == | ||
+ | Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw "powrotu karetki". | ||
− | |||
# Reset the current time to that shown by the server. | # Reset the current time to that shown by the server. | ||
# We must have the "time server = yes" option in the | # We must have the "time server = yes" option in the | ||
Linia 136: | Linia 243: | ||
net use x: \\linux\wspolny | net use x: \\linux\wspolny | ||
+ | w naszym przypadku skrypt umieszczamy w ścieżce ''/home/samba/netlogon'', nadajemy mu odpowiednie uprawnienia | ||
+ | chown root:smbusers logon.bat | ||
+ | oraz | ||
+ | chmod 750 logon.bat | ||
+ | i to powinno wystarczyć, oczywiście plik ''logon.bat'' musimy dostosować do własnego konfiga samby. | ||
+ | == Podłączanie do domeny systemu Windows == | ||
+ | === Windows XP === | ||
+ | Możliwość podłączenia komputera z systemem Windows zaczyna się od wersji <u>professional</u>. | ||
+ | Aby podłączyć kompuetr z systemem Windows do domeny należy wykonać poniższe kroki: | ||
+ | * Wejść do Panelu sterowania | ||
+ | * Wybrać ikonkę ''System'' | ||
+ | * Wejść w zakładkę ''Nazwa komputera'' | ||
+ | * Nacisnąć na przycisk ''Zmień'' | ||
+ | * Zaznaczyć opcję ''Domena'' oraz wpisać nazwę domeny zatwierdzić przyciskając ''OK'' | ||
+ | * podajemy nazwę oraz hasło użytkownika root samby i zatwierdzamy | ||
+ | * restartujemy komputer | ||
+ | * logujemy się jeszcze raz na konto administratora do naszego komputera | ||
+ | * wchodzimy do Panelu sterowania | ||
+ | * wybieramy ''Konta użytkowników'' | ||
+ | * dodajemy użytkownika wpisując nazwe użytkownika oraz domenę | ||
+ | * restartujemy komputer | ||
+ | * przy logowaniu wybieramy domenę oraz wpisujemy nazwę użytkownika i hasło założonego w sambie | ||
+ | == Linki == | ||
+ | Na temat Samby można poczytać również | ||
+ | * Konfiguracja samby na naszej wiki - [[Samba]] | ||
+ | * Wikipedia strona na temat serwera plików - [http://pl.wikipedia.org/wiki/Samba_(program) Wikipedia] | ||
+ | * Oficjalna wiki samby - [http://wiki.samba.org/index.php/Main_Page oficjalna wiki] | ||
− | |||
<br /><google1 style="4"></google1> | <br /><google1 style="4"></google1> |