Samba jako PDC
Z wiki linux-user
m |
m (→Konfiguracja) |
||
Linia 1: | Linia 1: | ||
[[category:Serwer]] | [[category:Serwer]] | ||
− | |||
− | |||
Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]]. | Samba '''PDC''' czyli Samba '''Primary Domain Controller''' w tym how to zostanie przedstawiona jedna z możliwych konfiguracji oprogramowania '''Samba''' do działania w roli kontrolera domeny. Samba korzysta z protokołu '''SMB''' (''Server Message Block'') i wykorzystuje porty 137/UDP, 138/UDP, 139/TCP, opcjonalnie 445/TCP. Więcej na temat samej Samby możesz dowiedzieć się [[Samba|tutaj]]. | ||
Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit. | Poniższa konfiguracja została przetestowana na systemie [[Ubuntu]] 12.04 LTS 64 bit. | ||
Linia 11: | 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 43: | 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 62: | Linia 60: | ||
[home] | [home] | ||
comment = Home | comment = Home | ||
− | path = % | + | path = /home/samba/users/%U |
read only = No | read only = No | ||
browsable = yes | browsable = yes | ||
Linia 72: | 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 88: | 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 99: | 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 /> | ||
Linia 108: | Linia 117: | ||
sudo chmod 770 /home/samba/profiles/ | sudo chmod 770 /home/samba/profiles/ | ||
sudo chmod 750 /home/samba/netlogon/ | sudo chmod 750 /home/samba/netlogon/ | ||
+ | sudo chmod 770 /home/samba/muzyka/ | ||
+ | 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 === | === 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. | 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. | ||
Linia 114: | Linia 136: | ||
zakładamy grupę dla maszyn | zakładamy grupę dla maszyn | ||
sudo groupadd samba-machines | sudo groupadd samba-machines | ||
− | dodajemy | + | dodajemy zwykłego użytkownika systemu |
− | + | useradd kowalski | |
− | + | nadajemy mu hasło | |
+ | passwd kowalski | ||
+ | dodajemy komputer użytkownika do samby | ||
smbpasswd -a -m kowalski | smbpasswd -a -m kowalski | ||
− | + | dodajemy użytkownika do samby | |
− | + | ||
− | + | ||
− | + | ||
smbpasswd -a kowalski | 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. | 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ę | ||
Linia 141: | Linia 160: | ||
Uwaga domyślnie możesz nie mieć zainstalowanego programu [[chkconfig]], dlatego przed wydaniem powyższych komend musisz zainstalować ten pakiet poleceniem | 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 | 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". | Pamiętajmy aby skrypt najlepiej pisać w systemie Windows w związku z tym, że Linux nie używa tzw "powrotu karetki". | ||
Linia 159: | 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> |