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:
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.
Określamy poziom bezpieczeństwa. Nasza konfiguracja wymaga ustawień zabezpieczeń na poziomie użytkownika.
nt acl support = yes
nt pipe support = yes |
Ustawiamy
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.
Pamiętajmy też o utworzeniu wpisu w bazie użytkowników
Samby:
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
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
Updated mapping entry for Domain Users
# net groupmap add ntgroup="Domain Guests" unixgroup=nobody type=d
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
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.
Określamy poziom bezpieczeństwa. Nasza konfiguracja wymaga ustawień zabezpieczeń typu domenowego.
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 |
|