Samba jako PDC

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
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 />
Linia 106: Linia 116:
 
  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/
 +
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 113: Linia 136:
 
zakładamy grupę dla maszyn
 
zakładamy grupę dla maszyn
 
  sudo groupadd samba-machines
 
  sudo groupadd samba-machines
dodajemy maszynę
+
dodajemy zwykłego użytkownika systemu
  useradd -c "konto komputera" -g samba-machines -d /dev/null -s /bin/false kowalski$
+
useradd kowalski
oraz
+
nadajemy mu hasło
 +
passwd kowalski
 +
dodajemy komputer użytkownika do samby
 
  smbpasswd -a -m kowalski
 
  smbpasswd -a -m kowalski
Teraz dodajemy zwykłego użytkownika w systemie (wymóg samby) oraz dodajemy go do wcześniej założonej grupy ''smbusers''
+
dodajemy użytkownika do samby
useradd -c "konto uzytkownika kowalski" -g smbusers -s /bin/false kowalski
+
powyższym poleceniem dodaliśmy użytkownika do systemu bez możliwości logowania się do shella, do grupy ''smbusers''
+
tego samego użytkownika dodajemy do samby poleceniem
+
 
  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 139: Linia 159:
 
  chkconfig winbind on
 
  chkconfig winbind on
 
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".
  
=== 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 156: 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ń 15: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