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