Samba jako PDC

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
m
m (Konfiguracja)
 
Linia 1: Linia 1:
 
[[category:Serwer]]
 
[[category:Serwer]]
 
'''UWAGA! artykuł w trakcie pisania'''<br /><br />
 
 
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 6.6.3. Jeśli jednak jesteś zmuszony do instalacji własnoręcznie wydaj polecenie
+
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ł
                #szyfrowanie haseł
+
         logon home = %L%UNetlogon
         logon home = %L%Uprofile
+
 
         logon path =
 
         logon path =
         logon drive = H:
+
        logon script = logon.bat
 +
         logon drive = N:
 
         nt pipe support = yes
 
         nt pipe support = yes
 
         nt acl support = no
 
         nt acl support = no
Linia 59: 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 = %H
+
         path = /home/samba/users/%U
 
         read only = No
 
         read only = No
 
         browsable = yes
 
         browsable = yes
Linia 71: Linia 70:
 
         path = /home/samba/netlogon
 
         path = /home/samba/netlogon
 
         browsable = no
 
         browsable = no
         read only = True
+
         read only = yes
 
         public = no
 
         public = no
 
  [profile]
 
  [profile]
Linia 87: 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 98: 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 samba
+
  sudo groupadd smbusers
 
zmieniamy prawa do katalogów  
 
zmieniamy prawa do katalogów  
  sudo chown -R root:samba /home/samba/
+
  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 740 /home/samba/netlogon/
+
  sudo chmod 750 /home/samba/netlogon/
Dodajemy użytkowników bez dostępu do powłoki z grupą ''samba'' do systemu
+
sudo chmod 770 /home/samba/muzyka/
  sudo useradd -c "Uzytkownik samba" -g samba -d /dev/null -s /bin/false user1
+
  sudo chown root:smbusers /home/samba/muzyka/
tego samego użytkownika dodajemy do samby
+
sudo chmod 700 /home/samba/users/kowalski
  smbpasswd -a user1
+
sudo chown kowalski:smbusers /home/samba/users/kowalski
taką samą czynność musimy przeprowadzić dla każdego użytkownika, który ma mieć jakiś dostęp do zasobów samby.
+
sudo chown root:smbusers /home/samba/netlogon #pamiętać aby dać prawa do wykonania grupie dla pliku logon.bat
dodajemy również grupę ''samba-machines''
+
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
ta grupa będzie nam potrzebna do dodawania maszyn do samby za ten proces odpowiada opcja w pliku konfiguracyjnym ''smb.conf''
+
dodajemy zwykłego użytkownika systemu
  add machine script = /usr/sbin/useradd -d /dev/null -g samba-machines -c 'konto maszyny %I' -s /bin/false %u
+
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".
  
=== Skrypt logon.bat ===
 
 
  #  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 138: 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]
  
'''Uwaga!''' Strona jest w trakcie pisania.
 
  
 
<br /><google1 style="4"></google1>
 
<br /><google1 style="4"></google1>

Aktualna wersja na dzień 16:18, 14 wrz 2012

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Narzędzia


Sponsor serwisu

Firma informatyczna ITProjek Bydgoszcz usługi informacztyczne, serwery, linux, windows, strony www, hosting, sieci komputerowe, system archiwizacji danych