Bociek PLD - Pisarz
I. Informacje podstawowe
II. Instalacja
III. Podręcznik użytkownika
IV. Podręcznik administratora
Usługi dostępne w PLD
Samba - współpraca z Windows
V. Tworzenie PLD - Praktyczny poradnik
VI. O podręczniku
O tej książce
Spis treści
Inne wersje tego dokumentu
HTML (jeden plik)
Odnośniki
Tworzymy dokumentację PLD
Strona PLD
Listy dyskusyjne PLD

Samba - współpraca z Windows

<- ->
 

Samba jako Serwer domeny NT4 (PDC)

W tym rozdziale przedstawiona zostanie konfiguracja samby w roli serwera domeny Microsoft Windows NT4 (PDC).

Instalacja

Do realizacji tego zadania potrzebne będą pakiety: samba i samba-clients. Znaczenie poszczególnych pakietów:

  • samba - pakiet ten zawiera serwer samby

  • samba-clients - zestaw narzędzi przydatnych w poruszaniu się w środowisku Microsoft Networks.

Proces instalacji pakietów przedstawiony został w dziale Zarządzanie pakietami.

Konfiguracja

Przy użyciu dowolnego edytora otwieramy plik /etc/samba/smb.conf. Całą konfigurację należy wykonać w sekcji [global]. Przyjęta w nim została następująca konwencja: <opcja> = <wartość>. Jeżeli dana opcja ma kilka wartości, oddziela się je znakiem spacji. Poszczególne opcje umieszczane są w osobnych liniach. Komentarze w pliku rozpoczynają się znakiem "#" lub ";". Poniżej znajduje się wykaz najważniejszych opcji które należy ustawić podczas realizacji zadania.

workgroup = DOM
server string = File Server
announce as = NT Server	

Ustawiamy nazwę domeny której członkiem będzie nasz serwer oraz opcjonalnie komentarz (opis) komputera i typ serwera (opcjonalnie).

domain logons = yes
domain master = yes
preferred master = yes
local master = yes
wins support = yes
os level = 255

Ustawiamy logowanie do domeny oraz bycie kontrolerem domeny Windows NT4 i główną przegladarką komputerów w sieci.

security = user

Określamy poziom bezpieczeństwa. Nasza konfiguracja wymaga ustawień zabezpieczeń na poziomie użytkownika.

nt acl support = yes
nt pipe support = yes

Ustawiamy

time server = yes

Ustawiamy bycie serwerem czasu (opcjonalnie).

Następnie restartujemy SAMBĘ i przystępujemy do dalszej konfiguracji. W bazie użytkowników Samby musi znaleźć się konto administratora. Będzie ono wymagane przy dołączaniu stacji klienckich do domeny.

# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.

Hasło roota Samby nie powinno być identyczne z hasłem administratora systemu! następnie tworzymy konta użytkowników - podobnie jak przy zwykłym serwowaniu plików, tak i tutaj potrzebujemy nie tylko wpisu w bazie Samby, ale i konta uniksowego.

# useradd -g users jurek

Pamiętajmy też o utworzeniu wpisu w bazie użytkowników Samby:

# smbpasswd -a jurek

następnie ustawiamy mapowanie grup w linux na odpowiednie grupy windows-a, poleceniem net groupmap. Domyślne ustawienia Samby (mapowanie na uniksową grupę -1) wymaga zmiany, którą wprowadzi polecenie net groupmap add:

# net groupmap add ntgroup="Domain Admins" unixgroup=domadmin type=d rid=512
Updated mapping entry for Domain Admins

Podobnie modyfikujemy wpisy dla grup Domain Users - decydując się na wybór grupy users oraz Domain Guests - nobody: net groupmap.

# net groupmap add ntgroup="Domain Users" unixgroup=users type=d rid=513
Updated mapping entry for Domain Users
# net groupmap add ntgroup="Domain Guests" unixgroup=nobody type=d rid=514
Updated mapping entry for Domain Guests
# net groupmap add ntgroup="Users" unixgroup=users type=d
Add mapping entry for Users

Sprawdźmy, czy zmiany będą widoczne:

# net groupmap list
...
Domain Admins (S-1-5-21-353545269-2518139598-3611003224-512) -> domadmin
Domain Users (S-1-5-21-353545269-2518139598-3611003224-513) -> users
Domain Admins (S-1-5-21-353545269-2518139598-3611003224-514) -> nobody
Users (S-1-5-21-353545269-2518139598-3611003224-3001) -> users
.. 

Praca komputera w domenie wymaga założenia mu konta - tzw. Machine Trust Account. Jest to specyficzne konto, gdyż jego hasło ustalane jest przy podłączaniu komputera do domeny i znane tylko parze klient-serwer. Dzięki temu istnieje możliwość sprawdzenia tożsamości próbującego się logować komputera - nawet gdy ktoś dołączy maszynę o tej samej nazwie, to nie powinien uzyskać możliwości dostępu do domeny. Nazwy kont odpowiadają nazwom NetBIOS komputerów, ale z dołączonym na końcu symbolem dolara. Dla stacji biuro będzie to więc biuro$. Konto to powinno być zablokowane, by niemożliwe było uzyskanie dostępu poprzez ssh, czy też inne usługi systemu operacyjnego. Nie jest także konieczny katalog domowy, w zamian za to zdecydujemy się na umieszczenie kont w grupie machines - pozwoli to w jakimś stopniu ogarnąć szybko zwiększającą się liczbę użytkowników systemu serwera.

# groupadd machines
# useradd -c "Komputer biurowy" -g machines -d /dev/null -s /bin/false biuro$
# passwd -S biuro$
Password locked.

Wydaje się, że powinniśmy teraz utworzyć odpowiedni wpis w bazie haseł Samby - nie jest to jednak konieczne. Przy próbie podłączenia komputera do domeny czynność ta zostanie wykonana automatycznie. Gdy jednak zajdzie potrzeba ręcznego utworzenia wpisu, do wywołania smbpasswd dodać musimy parametr -m (machine):

# smbpasswd -a -m ksiegowosc

W tym przypadku nie podajemy symbolu $. Oczywiście cały proces dodawania kont maszyn można zautomatyzować w tym celu należy dodać do /etc/samba/smb.conf:

add machine script = /usr/sbin/useradd -d /var/lib/nobody -g machines -c 'Konto Maszyny %I' -s /bin/false %u 
passwd chat debug = no
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
passwd program = /usr/bin/smbpasswd -L -a %u

i oczywiście utworzyć katalog /var/lib/nobody

# mkdir /var/lib/nobody
 

należy sie też upewnić czy nie mamy w smb.conf wpisu

# kto nie moze sie logowac do samby
invalid users = root
 

Aby dodać Windows XP Profesional lub Microsoft Windows NT Server 4.0 Standard Edition (wersja Home nie obsługuje modelu domenowego w żaden sposób) należy w rejestrze zmienić:

REGEDIT4

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters

"RequireSignOrSeal"=dword:00000000

lub z poziomu Local Group Policy wyłączając (Disabled) Security Options | Domain Member | Digitally encrypt or sign secure channel data (always)

wiecej:

/usr/share/doc/samba-doc/Registry/WinXP_SignOrSeal.reg

Brian Getsinger (Apple Corp). Mac OS X Server Samba Primary Domain Controller Configuration http://www.afp548.com/Articles/system/sambapdc.html Sherlock Error logging a Win XP machine into a domain running Samba.

http://www.slakaz.org/articles/6.html

Serwer członkowski domeny NT4

W tym rozdziale przedstawiona zostanie konfiguracja samby w roli serwera członkowskiego domeny Microsoft Windows NT4. Zaletą takiej konfiguracji jest możliwość budowania polityki praw dostępu do zasobów zgromadzonych na serwerze w oparciu o konta użytkowników lokalnego serwera PDC.

Instalacja

Do realizacji tego zadania potrzebne będą trzy pakiety: samba, samba-clients oraz samba-winbindd. Znaczenie poszczególnych pakietów:

  • samba - pakiet ten zawiera serwer samby

  • samba-clients - zestaw narzędzi przydatnych w poruszaniu się w środowisku Microsoft Networks.

  • samba-winbindd - demon pozwalający na pobieranie uprawnień z serwera PDC.

Proces instalacji pakietów przedstawiony został w dziale Zarządzanie pakietami.

Konfiguracja

Przy użyciu dowolnego edytora otwieramy plik /etc/samba/smb.conf. Całą konfigurację z której będzie również korzystał demon winbindd należy wykonać w sekcji [global]. Przyjęta w nim została następująca konwencja: <opcja> = <wartość>. Jeżeli dana opcja ma kilka wartości, oddziela się je znakiem spacji. Poszczególne opcje umieszczane są w osobnych liniach. Komentarze w pliku rozpoczynają się znakiem "#" lub ";". Poniżej znajduje się wykaz najważniejszych opcji które należy ustawić podczas realizacji zadania. Wykraczają one nieco poza czystą konfigurację winbindd ale są konieczne do jego prawidłowego działania.

workgroup = DOM
server string = File Server

Ustawiamy nazwę domeny której członkiem będzie nasz serwer oraz opcjonalnie komentarz (opis) komputera.

security = domain

Określamy poziom bezpieczeństwa. Nasza konfiguracja wymaga ustawień zabezpieczeń typu domenowego.

password server = PDC

Nazwa netbiosowa serwera PDC. To z tego właśnie serwera demon winbind będzie pobierał uprawnienia.

To tyle, jeżeli chodzi o ogólną konfigurację samby. Teraz czas na dodanie kilku opcji potrzebnych winbindowi.

winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
client signing = yes

  • winbind separator - znak, którym oddzielana będzie nazwa użytkownika bądź grupy od nazwy domeny. Np. "DOM+jan"

  • idmap uid - zakres uidów w systemie zarezerwowanych na użytkowników domenowych

  • idmap gid - zakres gidów w systemie przeznaczonych na grupy domenowe

Na tym możemy zakończyć edycję pliku konfiguracyjnego samby. Aby nasza konfiguracja stała się aktywna musimy przerestartować usługę.

/etc/rc.d/init.d/smb restart

W ślad za usługą smb zostaną przerestartowane także nmbd oraz interesujący nas winbindd. Czynnością którą musimy bezwzględnie wykonać jest podłączenie naszego serwera do domeny. Aby to uczynić wykonujemy poniższe polecenie:

# net rpc join -S PDC -U Administrator%hasło
Joined the domain DOM

Jeżeli w tym momencie miałbyś problemy ze skomunikowaniem się z serwerem domeny możesz dodać do polecenia opcję -I a po niej adres IP serwera PDC. Po pomyślnej operacji podłączenia możemy sprawdzić działanie winbinda.

# wbinfo -g
DOM+Administrator
DOM+Basia
DOM+Darek
...
# wbinfo -g
DOM+Domain Admins
DOM+Domain Users
...

Opcja -u pokazuje listę użytkowników, natomiast -g listę grup.

Jeżeli wynik obu poleceń wygląda podobnie jak na listingu oznacza to, że winbind pracuje poprawnie.

Zakończenie

Jakie korzyści płyną z takiej konfiguracji samby? Otóż sprawdza się ona w środowisku sieciowym w którym zasoby udostępniają zarówno serwery pracujące pod kontrolą Windows jak i linuksa. Pozwala to na budowanie spójnej polityki bezpieczeństwa w oparciu o uwierzytelnianie użytkownika na poziomie domeny. Drugą z zalet jest prostota w implementacji. Dzięki winbindd dostęp do grup oraz użytkowników domenowych odbywa się w taki sam sposób jak do ich odpowiedników lokalnych.

# chown DOM+Administrator.DOM+Domain\ Users plik.txt

 
&lt;- ->