Rozdział 44.
NIS i YP
Tim Parker
W tym rozdziale:
Konfiguracja domeny NIS
Programy rezydentne obsługujące NIS
Konfigurowanie komputera-nadzorcy NIS
Konfigurowanie nadzorców zastępczych
Klienci NIS
System NIS (ang. Network Information Service, sieciowy system informacyjny) umożliwia dostęp do plików, które normalnie byłyby dostępne tylko lokalnie, z dowolnego punktu sieci. Takie rozwiązanie ułatwia życie zarówno użytkownikom, jak i administratorom systemu. Podstawą systemu NIS jest wspólny dla całej sieci plik z hasłami, dzięki czemu użytkownik nie musi posiadać konta w każdym z podłączonych do sieci komputerów. Zamiast tego komputer-nadzorca (ang. NIS master) kontroluje dostęp do wszystkich innych komputerów.
|
YP (Yellow Pages) to system będący poprzednikiem NIS. Nazwa systemu została zmieniona ze względu na prawa autorskie, ale większość terminologii używanej w opisie systemu NIS pochodzi z systemu YP. |
W tym rozdziale dowiesz się, w jaki sposób skonfigurować system NIS w prostej sieci. Niestety, nie wszystkie sieci są proste - w niektórych przypadkach szczegóły architektury i konfigurowania sieci mogą stać się bardzo skomplikowane. Choć ogólne zasady działania systemu NIS pozostają takie same, konfigurowanie bardziej złożonych sieci może wymagać dodatkowych zabiegów - co gorsza innych praktycznie w każdym przypadku. Dlatego pozostawimy ten temat na boku, skupiając się na prostych sieciach, do których zwykle podłączone są komputery linuxowe.
Nazwy plików używanych do konfigurowania systemu NIS zebrane są w tabeli 44.1.
Tabela 44.1. Pliki używane do konfigurowania systemu NIS
Nazwa pliku |
Funkcja |
/etc/ethers |
Odwzorowywanie adresów Ethernet MAC na IP |
/etc/group |
Informacje o prawach dostępu dla grup |
/etc/hosts |
Odwzorowywanie adresów IP na nazwy symboliczne |
/etc/netmasks |
Maski IP |
/etc/passwd |
Informacje o kontach użytkowników |
/etc/protocols |
Odwzorowywanie protokołów i numerów sieciowych |
etc/rpc |
Numery RPC |
/etc/services |
Odwzorowywanie numerów portów na protokoły TCP/IP |
Podczas konfigurowania komputera-nadzorcy i nadzorców zastępczych przyjrzymy się najczęściej używanym plikom konfiguracyjnym, zobaczymy również, jakie modyfikacje należy wprowadzić do plików konfiguracyjnych komputerów mających pracować w systemie NIS.
Konfiguracja domeny NIS
W systemie NIS do logicznego grupowania komputerów używa się pojęcia domeny. Domena NIS zawiera jeden komputer skonfigurowany jako nadzorca i jeden lub więcej komputerów skonfigurowanych jako nadzorcy zastępczy. Nadzorca zastępczy przejmuje wszystkie funkcje nadzorcy w takich sytuacjach, jak załamanie systemu czy problemy z siecią. Dzięki takiemu rozwiązaniu system działa przez cały czas, bez względu na dostępność komputera-nadzorcy. Konfigurowanie nadzorcy zastępczego jest bardzo proste, więc w każdej sieci powinien znaleźć się co najmniej jeden komputer pełniący tę rolę. Można również podzielić obsługę NIS pomiędzy komputer-nadzorcę i jego zastępcę. Zmiany w plikach konfiguracyjnych nadzorcy są automatycznie rozprowadzane do zastępców.
Obszar domeny NIS nie musi pokrywać się z domeną internetową, choć z taką sytuacją mamy do czynienia w większości systemów (czyli, innymi słowami, cała sieć jest domeną NIS). Domena NIS musi posiadać nazwę, która również może, ale nie musi, pokrywać się z nazwą domeny internetowej. Zamiast jednej dużej domeny można też stworzyć mniejsze domeny NIS, na przykład osobną dla każdego wydziału w przedsiębiorstwie.
Aby skonfigurować domenę NIS, powinieneś najpierw wybrać dla niej jakąś nazwę i ustalić numer IP komputera-zarządcy i zarządcy zastępczego. Jeśli konfigurujesz więcej niż jedną domenę, musisz zdecydować, które komputery będą należały do której domeny. Każdy komputer w obrębie domeny musi zostać wyszczególniony w odpowiednim pliku konfiguracyjnym.
Konfiguracja domeny NIS wymaga zalogowania się w każdym systemie podłączonym do sieci i ustawienia we wszystkich systemach takiej samej nazwy domeny za pomocą polecenia:
domainname nazwa_domeny
Aby ustawić nazwę domeny, musisz mieć uprawnienia administratora. Ponieważ jednak takie polecenie zachowuje ważność tylko do momentu zrestartowania komputera, najlepiej zapisać je w jednym z plików rc (zwykle znajdujących się w katalogu /etc/rc.d). Szczegóły dotyczące tej operacji mogą różnić się w zależności od wersji Linuxa.
W niektórych wersjach Linuxa dostępne są skrypty automatyzujące te zadania, na przykład w systemie Caldera OpenLinux dostępny jest program narzędziowy, po uruchomieniu którego trzeba tylko podać nazwę domeny i adresy IP komputera-nadzorcy i zastępców (program ten ogranicza ich liczbę do najwyżej dwóch).
Programy rezydentne obsługujące NIS
System NIS korzysta z kilku programów rezydentnych działających w systemie komputera-nadzorcy i jego zastępców. Jednym z nich jest program ypserv, obsługujący wszystkie żądania pochodzące od komputerów-klientów.
Po stronie klientów działa program ypbind, który jest odpowiedzialny za łączenie się z nadzorcą podczas uruchamiania systemu i podejmowanie wszelkich działań związanych z przesyłaniem danych o użytkownikach i konfiguracji sieci. Proces łączenia się programu ypbind z komputerem-nadzorcą nazywany jest wiązaniem (ang. binding).
Proces wiązania się z nadzorcą rozpoczyna się w momencie, kiedy komputer-klient wysyła do wszystkich komputerów informację o tym, że poszukuje adresu IP nadzorcy systemu NIS. Nadzorca w odpowiedzi na taką informację powinien przesłać swój numer IP i numer portu, na którym może nastąpić połączenie. Jeśli odezwie się więcej niż jeden nadzorca, używany jest numer pierwszego z nich. Jeśli nikt się nie odezwie, informacja jest ponownie wysyłana do sieci - aż do skutku.
Aby sprawdzić, z którym komputerem-nadzorcą system jest aktualnie związany, należy wydać polecenie ypwhich:
$ ypwhich
merlin
Konfigurowanie komputera-nadzorcy NIS
Konfigurowanie komputera-nadzorcy NIS jest czynnością dość prostą. Należy zacząć od sprawdzenia, czy wszystkie informacje w plikach /etc/passwd i /etc/group są aktualne; usuń wpisy o wszystkich nieistniejących już użytkownikach i grupach, sprawdź, czy wszystkie katalogi domowe i interpretery poleceń uruchamiane przy logowaniu są ustawione prawidłowo. Zwróć uwagę na to, czy dla każdego konta założone jest hasło. Błąd w plikach konfiguracyjnych za pomocą NIS rozprzestrzenia się na całą sieć, znacznie obniżając poziom bezpieczeństwa.
Po przygotowaniu plików upewnij się, że jesteś zalogowany jako root - tylko wtedy będziesz posiadał odpowiednie prawa dostępu i pełny dostęp do systemu. Pliki mapowania systemu NIS generowane są z plików istniejących w systemie za pomocą programu ypinit z opcją -m (która oznacza, że komputer ma być nadzorcą, ang. master):
/usr/sbin/ypinit -m
Ścieżka dostępu do programu ypinit może być inna w Twoim systemie - sprawdź ją, jeśli po wydaniu powyższego polecenia generowany jest komunikat o błędzie.
Po uruchomieniu, program ypinit przegląda wszystkie pliki NIS wymienione w pliku /var/yp i generuje pliki mapowania, które będą używane przez procesy klientów. W niektórych systemach plik spełniający funkcję taką, jak /var/yp, nazywa się nieco inaczej - na przykład w systemie SCO UNIX jest to jeden z plików zapisanych w katalogu /etc/yp; powinieneś to sprawdzić w dokumentacji. Plik /var/yp zawiera listę plików mapowania, które mają zostać wygenerowane, i zwykle nie wymaga modyfikacji.
Program ypinit tworzy nowy katalog, zazwyczaj o nazwie /var/yp/nazwa_domeny, w którym zapisuje wszystkie wygenerowane pliki. Jeśli konfigurujesz kilka domen obsługiwanych przez tego samego nadzorcę, pliki utworzone dla każdej z domen zostaną umieszczone w osobnym podkatalogu.
Na koniec program ypinit zapyta o komputery spełniające funkcję nadzorców zastępczych - powinieneś podać ich nazwy. Nazwy te są zapisywane w pliku w katalogu /var/yp/nazwa_domeny.
|
W niektórych wersjach Linuxa pliki związane z NIS znajdują się w innych niż przykładowe katalogach - jeśli nie potrafisz ich znaleźć, użyj polecenia find. |
Po wygenerowaniu odpowiednich plików możesz uruchomić program rezydentny ypserv. Najlepiej zautomatyzować ten proces, wpisując do pliku rc polecenie (które być może już w nim się znajduje)
if [ -f /etc/yp/ypserv -a -d /var/yp/`domainname` ]
then
/etc/yp/ypserv
fi
Powyższy fragment skryptu powoduje uruchomienie programu ypserv, o ile jest on zainstalowany w systemie i zostały wygenerowane odpowiednie pliki. W pierwszym wierszu nazwa polecenia domainname otoczona jest odwróconym pojedynczym cudzysłowem, dzięki czemu polecenie to zostanie wykonane, a w miejsce, w którym się ono znajduje, zostanie podstawiony wynik jego wykonania (czyli faktyczna nazwa domeny). Jeśli odpowiedni katalog istnieje, uruchamiany jest program ypserv. Powinieneś podstawić właściwe dla Twojego systemu ścieżki dostępu.
Można również uruchomić program ypserv ręcznie (jeśli jesteś zalogowany jako root), wydając polecenie
/etc/yp/ypserv
Następnie w systemie komputera-nadzorcy należy uruchomić program ypbind (w przeciwnym przypadku program ypserv nie będzie potrafił odnaleźć plików mapowania). W tym celu możesz do jednego z plików rc dopisać następujące wiersze:
if [ -d /var/yp ]
then
/etc/yp/ypbind
fi
Tu również powinieneś w razie potrzeby podstawić odpowiednie dla Twojego systemu ścieżki dostępu. Jeśli jesteś zalogowany jako root, możesz uruchomić program ypbind z wiersza poleceń. Upewnij się, że ścieżka dostępu jest prawidłowa.
Jeśli chcesz szybko sprawdzić, czy programy obsługi NIS działają poprawnie, wydaj polecenie:
ypmatch reksio passwd
Polecenie ypmatch wysyła do nadzorcy NIS żądanie, by dopasował do pierwszego argumentu wiersz z pliku podanego jako drugi argument. W przykładzie sprawdzony zostanie plik passwd (passwd to w zasadzie alias nazwy passwd.byname) w poszukiwaniu wiersza zaczynającego się od tekstu reksio. Jako wynik działania tego polecenia powinien zostać wyświetlony odpowiedni wiersz.
Konfigurowanie nadzorców zastępczych
Aby skonfigurować nadzorcę zastępczego, komputer-nadzorca musi już być skonfigurowany i działać. Gdy jesteś pewny, że pracuje on prawidłowo, zaloguj się jako administrator systemu, który ma działać jako nadzorca zastępczy. Wcześniej należy również ustawić nazwę domeny - sprawdź więc, czy istnieje odpowiednie odwołanie do programu domainname w jednym z plików rc lub uruchom ten program samodzielnie.
Aby skonfigurować nadzorcę zastępczego i skopiować wszystkie potrzebne pliki konfiguracyjne z komputera-nadzorcy, wydaj polecenie (podstawiając ścieżkę dostępu właściwą dla Twojego systemu):
/etc/yp/ypbind
Za pomocą polecenia ypwhich sprawdź, czy połączenie przebiegło prawidłowo. Powinno ono zwrócić nazwę komputera-nadzorcy. Na koniec wydaj polecenie:
/etc/yp/ypinit -s nazwa_komputera-nadzorcy
Opcja -s powoduje, że dany komputer będzie zachowywał się jak nadzorca zastępczy. Zostaną założone odpowiednie katalogi, a z komputera-nadzorcy przesłane zostaną wszystkie potrzebne pliki mapowania.
Po zakończeniu tych czynności możesz sprawdzić, czy wszystko jest w porządku, używając podobnie jak w poprzednim podrozdziale polecenia ypmatch,.
Aby regularnie uaktualniać pliki mapowania w komputerach-zastępcach, używa się polecenia ypxfer. Argumentem tego polecenia powinna być nazwa pliku, który ma być przesyłany, np.:
ypxfer passwd.byname
Większość administratorów automatyzuje uaktualnianie plików mapowania albo dodając odpowiedni wpis do pliku crontab, dzięki czemu transfer odbywa się regularnie (zwykle w nocy), albo też umieszczając odpowiednie polecenia w skrypcie uruchamianym przez administratora.
Klienci NIS
Konfigurowanie komputera korzystającego z systemu NIS wymaga prawidłowego ustawienia nazwy domeny (za pomocą programu domainname, który może być uruchamiany w jednym z plików rc) oraz wydania polecenia ypbind, wiążącego komputer z odpowiednim komputerem-nadzorcą.
Kiedy zachodzi potrzeba znalezienia jakiegoś wpisu w pliku /etc/passwd lub /etc/group, najpierw przeszukiwane są pliki lokalne, a w razie niepowodzenia do nadzorcy wysyłane jest zapytanie. Aby było to możliwe, w pliku /etc/passwd musi znajdować się wpis:
+:*:0:0:::
Zgodnie z formatem pliku /etc/passwd, jest to prawidłowy wpis, choć nie zawiera żadnych informacji. Znak + poleca przesłać zapytanie do nadzorcy NIS. Może on znajdować się w dowolnym miejscu w pliku - po dojściu do niego wysyłane jest zapytanie, a jeśli ono nie przyniesie rezultatu, przeszukiwanie pliku jest kontynuowane.
Podsumowanie
Konfigurowanie systemu NIS nie jest bardzo złożone. Najtrudniejszą częścią jest doprowadzenie do odpowiedniej postaci plików używanych do generowania plików mapowania (głównie przez usuwanie starych wpisów) i zapewnienie odpowiedniego poziomu bezpieczeństwa. Konfigurowanie komputera-nadzorcy i nadzorcy zastępczego w sumie nie trwa dłużej niż pół godziny. Często odnalezienie w systemie odpowiednich programów (w różnych wersjach znajdują się one w różnych katalogach) zajmuje więcej czasu niż sama konfiguracja.
Współużytkowanie plików i katalogów za pośrednictwem usługi NFS opisane jest w rozdziale 43. „NFS”.
Konfigurowanie programów cron i at, pozwalających na automatyczne wykonywanie pewnych zadań w tle, omówione jest w rozdziale 46. „cron i at”.
Jak założyć i skonfigurować węzeł internetowy w oparciu o system Linux, dowiesz się z rozdziału 47. „Konfigurowanie węzła internetowego”.
676 Część VI ♦ Linux dla administratorów
676 E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\44.DOC
E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\44.DOC 677
Rozdział 44. ♦ NIS i YP 677