[ Pobierz całość w formacie PDF ]
.Za-miast map, u¿ywane s¹ tak zwane tabele, które sk³adaj¹ siê z wierszy i kolumn.Ka¿-dy wiersz zawiera obiekt z bazy danych NIS+, a ka¿da kolumna opisuje w³asnoSciobiektu NIS+.Ka¿da tabela dla danej domeny NIS+ zawiera dane z domeny nad-rzêdnej.Ponadto wpis w tabeli mo¿e zawieraæ dowi¹zanie do innej tabeli.Te funkcjeumo¿liwiaj¹ porz¹dkowanie informacji na wiele sposobów.NIS+ dodatkowo obs³uguje bezpieczne i szyfrowane RPC, co znacznie pomagaw rozwi¹zywaniu problemów z bezpieczeñstwem, które ujawni³y siê w przypadkuNIS-a.Tradycyjny NIS u¿ywa RPC w wersji 2, natomiast NIS+ w wersji 3.W czasie pisan-ia tej ksi¹¿ki nie ma jeszcze dobrze dzia³aj¹cej implementacji NIS+ dla Linuksa, dla-tego nie poSwiêcamy wiêcej miejsca temu tematowi.NIS strona klientaJe¿eli znasz siê na pisaniu lub przenoszeniu aplikacji sieciowych, zapewne zauwa-¿y³eS, ¿e wiêkszoSæ przedstawionych map NIS odpowiada funkcjom bibliotecznymz biblioteki C.Na przyk³ad, aby uzyskaæ informacje o passwd, u¿ywasz funkcji getpw-nam i getpwuid, zwracaj¹cych informacje o koncie zwi¹zane odpowiednio z dan¹nazw¹ u¿ytkownika lub jego ID.W normalnych warunkach funkcje te realizuj¹przeszukiwanie standardowego pliku, na przyk³ad /etc/passwd.Implementacja tych funkcji uwzglêdniaj¹ca NIS-a modyfikuje jednak to zachowanieprzez dodanie do serwera NIS wywo³ania RPC, które szuka nazwy u¿ytkownika lubjego ID.Dzieje siê to niewidocznie dla aplikacji.Funkcja mo¿e traktowaæ dane NIStak, jakby by³y zawarte w oryginalnym pliku passwd, a wiêc oba zestawy informacjis¹ dostêpne dla aplikacji i przez ni¹ wykorzystywane, lub tak, jakby zupe³nie za-stêpowa³y dane w passwd i wtedy je ignoruje, a wykorzystuje tylko dane NIS.W tradycyjnych implementacjach NIS-a obowi¹zywa³y pewne ustalenia co do tego,kiedy mapy by³y zastêpowane innymi, a kiedy dodawane do oryginalnych informacji.Niektóre mapy, takie jak passwd, wymaga³y modyfikacji pliku passwd.Je¿eli zosta³a onawykonana niepoprawnie, tworzy³y siê dziury w bezpieczeñstwie.Aby unikn¹æ tychpu³apek, NYS i GNU libc wykorzystuj¹ ogólny schemat konfiguracji okreSlaj¹cy, czydany zestaw funkcji klienta u¿ywa oryginalnych plików, plików NIS czy NIS+i wja-kiej kolejnoSci.Ten schemat bêdzie opisany w dalszej czêSci tego rozdzia³u.234 Rozdzia³ 13: System informacji sieciowejEksploatowanie serwera NISDoSæ ju¿ tej teoretycznej paplaniny.Czas przyjrzeæ siê, jak dzia³a rzeczywista kon-figuracja.W tym podrozdziale omówimy konfiguracjê serwera NIS.Je¿eli serwerNIS ju¿ dzia³a w twojej sieci, nie musisz tworzyæ w³asnego i mo¿esz bez szkody dlasiebie pomin¹æ ten podrozdzia³.Pamiêtaj, ¿e je¿eli zamierzasz eksperymentowaæ z serwerem, musisz uwa¿aæ, by niezdublowaæ nazwy domeny NIS.Mog³oby dojSæ do awarii us³ugi w ca³ej sieci.Niemówi¹c ju¿ o zdenerwowaniu wspó³u¿ytkowników.Istniej¹ dwie mo¿liwe konfiguracje serwera NIS: jako serwera g³Ã³wnego i jako podrzêd-nego.Konfiguracja serwera podrzêdnego daje dzia³aj¹cy komputer zapasowy na wypa-dek, gdyby serwer g³Ã³wny uleg³ awarii.Omówimy tutaj jedynie konfiguracjê serwerag³Ã³wnego.Dokumentacja serwera wyjaSnia ró¿nice miêdzy tymi dwoma konfiguracja-mi, a wiêc zajrzyj do niej, gdybyS musia³ skonfigurowaæ serwer podrzêdny.Obecnie istniej¹ dwa darmowe serwery NIS dostêpne dla Linuksa: jeden zawartyw pakiecie yps Tobiasa Rebera i drugi w pakiecie ypserv Petera Erikssona.Nie graroli, który z nich uruchomisz.Po zainstalowaniu programu serwera (ypserv) w katalogu /usr/sbin, powinieneSstworzyæ katalog, w którym bêd¹ przechowywane pliki map rozpowszechnianeprzez twój serwer.Przy konfigurowaniu domeny NIS dla domeny brewery, mapybêd¹ umieszczone w katalogu /var/yp/brewery.Zanim serwer zdecyduje siê obs³ugi-waæ konkretn¹ domenê, sprawdza, czy istnieje jej katalog map.Je¿eli wy³¹czaszus³ugê dla jakiejS domeny NIS, pamiêtaj o usuniêciu katalogu.Mapy zwykle s¹ przechowywane w plikach DBM, aby przySpieszyæ poszukiwania.Tworzone s¹ na podstawie plików g³Ã³wnych za pomoc¹ programu makedbm (dla ser-wera Tobiasa) lub dbmload (dla serwera Petera)
[ Pobierz całość w formacie PDF ]