LinuxUser_Linux_w_domenieWin

Transkrypt

LinuxUser_Linux_w_domenieWin
LINUX USER
Linux w sieci Windows
Linux w sieci Windows
Linux w domenie
Windows NT/2000/2003
Linux może korzyst
ać z domeny W
indows
NT/2000,
ak samo
t
jak systemy firmy
Microsof
t. Daje to całkiem nowe
możliwości pracy w sieciach
firmowych.
PAWEŁ LESZEK
C
zy stacja robocza z Linuksem może
pracować w domenie Windows
NT/2000? Do niedawna było to niemożliwe, ale najnowsze wersje serwera Samba zawierają oprogramowanie, które na to
pozwala. Dzięki temu każdy użytkownik, posiadający konto w domenie, może się zalogować się do stacji roboczej z Linuksem nawet,
jeśli nie ma konta w samym Linuksie. Do domeny będziesz się logować bezpośrednio
z okienka menedżera logowania do KDE. Jedyna różnica jest taka, że nazwę użytkownika
podajemy w formacie:
LAB+pawel
Gdzie „LAB” to nawa domeny, a „pawel” to
nazwa konta w domenie. Znak „+” zastępuje
separator „\” używany w Windows. Opisywana procedura powinna działać z następującymi wersjami Windows:
MS Windows NT 4 Server, jako główny
kontroler domeny PDC (Primary Domain Controller)
MS Windows 2000/2003 Server, jako kontroler domeny Active Directory
Wersja językowa serwerów nie ma znaczenia.
Nie ma również znaczenia, czy zostały zainstalowane aktualizacje Service Pack i hotfixes. W okienku logowania KDE od razu zauważysz, czy dostępna jest opcja logowania
do domeny, ponieważ zostaną wyświetlane
wszystkie konta domenowe, których można
użyć do logowania. Pamiętaj, że opisywana dalej konfiguracja może zostać wykonana jedynie
przez doświadczonego użytkownika Linuksa.
Trzeba także pamiętać, że w przypadku Active
Directory opisywana konfiguracja będzie działać jeśli domena będzie pracować w trybie „mixed” – dopuszczającym korzystanie z niej przez
systemy inne niż Windows 2000.
Przygotowania po stronie
kontrolera domeny
Logowanie z poziomu Linuksa do domeny
Windows w zasadzie nie wymaga konfiguracji domeny, poza zmianą domyślnej nazwy
grupy użytkowników domenowych „Użytkownicy domeny”. Ze względu na błąd w serwerze Samba, nazwa tej grupy nie może zawierać spacji, ponieważ przy próbie logowania na konsoli otrzymasz komunikat „[: too
many agruments”, choć system cię zaloguje.
Natomiast logowanie z poziomu KDE zakończy się niepowodzeniem. Żeby uniknąć
tego problemu trzeba na kontrolerze domeny
zmienić nazwę (widoczną dla systemów starszych niż Windows 2000) tej grupy np. na
„UżytkownicyDomeny”.
Przygotowanie Linuksa do
pracy w domenie
Rysunek 1. Zmiana nazwy grupy użytkowników
domeny na taką, która nie zawiera spacji.
96
Luty 2004
Aby można było logować się bezpośrednio do
domeny Windows NT/2000/2003, potrzebna
jest, co najmniej wersja 2.2.2 serwera Samba.
.linux-magazine.pl
www
Samba 2.2.2 zawiera moduł „winbind”, który
jest odpowiedzialny za autoryzację w domenie Win NT/2000. Gotowy do instalacji plik
RPM lub DEB, zawierający serwer Samba,
możesz ściągnąć z adresu http://pl.samba.org/samba/ftp/Binary_Packages/.
Pamiętaj, że przy takim trybie instalacji dotychczasowa konfiguracja Samby zostanie zapisana w pliku /etc/samba/smb.conf.rpmsav. Jeśli
jesteś doświadczonym administratorem Linuksa, to najlepiej samodzielnie skompiluj
Sambę, ściągając najnowszą wersję kodu źródłowego ze strony http://www.samba.org. Po
zainstalowaniu serwera Samba musisz wykonać następujące czynności konfiguracyjne:
1. Zmień zawartość pliku /etc/nsswitch.conf
tak, żeby zawierał wpisy:
passwd:
compat winbind
shadow:
compat
group: compat winbind
2. Zmień plik „/etc/samba.d/smb.conf” tak,
żeby opcje w sekcji „[global]” wyglądały następująco:
domain master = No
local master = No
Linux w sieci Windows
password server = *
security = domain
template homedir = /home/%D/%U
template shell = /bin/bash
winbind enum groups = yes
winbind enum users = yes
winbind gid = 10000-20000
winbind separator = +
winbind uid = 10000-20000
workgroup = domena
Oczywiście należy zastąpić słowo „domena”
nazwą (NetBIOS-ową) domeny NT/2000/
2003 do której chcesz się logować. Jeśli
chcesz korzystać z określonego kontrolera jako serwera haseł, to wpisz jego nazwę (NetBIOS-ową) w opcji password server.
3. Zmień plik /etc/pam.d/kde, który odpowiada za autoryzację w graficznym okienku logowania KDE:
auth required pam_nologin.so
auth sufficient pam_winbind.so
auth required pam_pwdb.so U
use_first_pass shadow nullok
account required pam_winbind.so
password required pam_cracklib.so U
type=user retry=3
password required pam_pwdb.so U
use_authtok
session required pam_mkhomedir.so U
skel=/etc/skel umask=0022
session required pam_pwdb.so
4. Trzeba także zmienić plik /etc/pam.d/
kscreensaver, odpowiadający za autoryzację
użytkownika po zablokowaniu ekranu przez
wygaszacz ekranu:
auth sufficient pam_winbind.so
auth required pam_pwdb.so U
use_first_pass shadow nullok
5. Plik /etc/pam.d/login – najważniejszy ze
wszystkich opisywanych – odpowiada za autoryzację w trybie znakowym oraz tworzenie
domyślnych plików konfiguracyjnych dla
użytkownika po pierwszym zalogowaniu:
auth required pam_securetty.so
auth required pam_nologin.so
auth sufficient pam_winbind.so
auth required pam_pwdb.so U
use_first_pass shadow nullok
auth optional pam_mail.so
account required pam_winbind.so
session required pam_mkhomedir.so U
LINUX USER
skel=/etc/skel umask=0022
session required pam_pwdb.so
session optional pam_lastlog.so
password required pam_pwdb.so
6. Na koniec zmień plik /etc/pam.d/samba,
odpowiadający za autoryzację serwera Samba:
auth sufficient pam_winbind.so
auth required pam_pwdb.so U
use_first_pass nullok nodelay
account sufficient pam_winbind.so
account required pam_pwdb.so U
nodelay
session required pam_pwdb.so U
nodelay
password required pam_pwdb.so U
shadow md5
Przyłączanie Linuksa
do domeny
Każdy komputer, który ma pracować w domenie NT/2000/2003, musi mieć założone
domenowe konto komputera. Możesz je
utworzyć albo korzystając z narzędzi Windows albo bezpośrednio z poziomu Linuksa
(pod warunkiem, że posiadasz uprawnienia
zakładania kont w domenie). Przy zakładaniu konta komputera z poziomu Windows
2000 (Active Directory) należy pamiętać, żeby we właściwościach konta zaznaczyć opcję
„Zezwalaj na korzystanie z tego konta komputerom starszym niż Windows 2000” (w
wersji angielskiej „Allow pre-Windows 2000
computers to use this account”). Z poziomu
Linuksa możesz dodać swój komputer do domeny Windows poleceniem:
smbpasswd -j domena -r kontroler U
-U Administrator
Opcja „domena” oznacza nazwę domeny
(w konwencji NetBIOS), a „kontroler” to
nazwa kontrolera domeny, który ma być
użyty – w przypadku domeny Win NT powinien to być kontroler PDC, w przypadku
Active Directory (Windows 2000/2003) nie
ma to znaczenia.
Wykonaj następnie polecenie wbinfo -t na
konsoli znakowej. Powinieneś zobaczyć komunikat „Secret is good” oznaczający, że
komputer jest prawidłowo identyfikowany
w domenie. Uruchom teraz polecenia wbinfo u oraz wbinfo -g. Na konsoli powinieneś zobaczyć listę wszystkich kont użytkowników
i grup w domenie. Ostatni test polega na wykonaniu próby autoryzacji w domenie. W tym
celu wykonaj polecenie:
Rysunek 2. Zakładanie konta komputera w Active Directory z poziomu przystawki MMC.
wbinfo -a domena+konto_U
uzytkownika%haslo
Gdzie „domena” to NetBIOS-owa nazwa domeny, „konto_uzytkownika” to konto w domenie, a „haslo” to oczywiście hasło do tego
konta, np. wbinfo -a LAB+pawel%qweasd.
W odpowiedzi na to polecenie powinieneś
otrzymać serię komunikatów zawierających
słowo „failed” i jeden zawierający słowo succeeded. Ta seria komunikatów oznacza, że
Samba przetestowała różne metody autoryzacji w domenie i przynajmniej jedna z tych
prób powinna zakończyć się powodzeniem.
Jeśli wszystko jest OK, utwórz katalog /home/DOMENA, gdzie „DOMENA” to nazwa domeny w konwencji NetBIOS. Pamiętaj, że musi
być wpisana dużymi literami! W tym katalogu
będą automatycznie tworzone katalogi zawierające konta użytkowników domenowych. Niestety nie wszystkie katalogi i skróty na pulpit są po
pierwszym zalogowaniu kopiowane automatycznie, dlatego należy przygotować specjalny
skrypt, który wykona to poprawnie:
#!/bin/sh
if! [ -d „$HOME/Desktop/Personal U
Files” ]; then
cp -R -u /etc/skel/* „$HOME”
fi
Nadaj mu np. nazwę domena_update, ustaw
prawa dostępu poleceniem chmod a+x i skopiuj do katalogu /usr/local/bin. Skrypt ten
należy uruchomić jeden raz – po pierwszym
zalogowaniu z konta domenowego do KDE.
To już wszystko, jesteś gotowy do pracy
w domenie. Uruchom ponownie system
i spróbuj się zalogować na konto domenowe
– ich listę powinieneś zobaczyć w okienku logowania KDE. Pamiętaj, że jeśli nie uda się
logowanie do domeny, to zawsze pozostaje
możliwość zalogowania na konta istniejące
w Linuksie lokalnie.
■
.linux-magazine.pl
www
Luty 2004
97