Opis system�w NIS(YP)/NYS/NIS+ na Linux-ie.

Autor:Thorsten Kukuk kukuk@suse.de
v1.0, 9 Marca 1999
Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
v3.0, 9 Sierpnia 1999


Dokument ten opisuje jak skonfigurowa� Linux-a, aby dzia�a� jako klient NIS(YP) czy NIS+ oraz jako serwer. Dokument ten zosta� napisany w standardzie ISO-8859-2.

1. Wprowadzenie.

Coraz wi�cej komputer�w z Linux-em instalowanych jest jako cz�� sieci komputerowych. Aby upro�ci� administracj� sieci� wi�kszo�� sieci (g��wnie oparte na Sun-ach) posiada Network Information Service. Maszyny Linux-owe mog� w pe�ni korzysta� z serwera NIS albo samemu dostarcza� tak� us�ug�. Linux mo�e tak�e dzia�a� jako pe�ny klient NIS+, obs�uga tego jest jeszcze w fazie beta.

Dokument ten pr�buje odpowiedzie� na pytania dotycz�ce ustawienia NIS(YP) i NIS+ na twoim komputerze. Nie zapomnij przeczyta� sekcji na temat Portmapper-a RPC.

NIS-HOWTO zajmuje si�

        Thorsten Kukuk, <tt/kukuk@vt.uni-paderborn.de/

Pierwotnym �r�d�em informacji dla pierwszej wersji NIS-HOWTO byli:

Andrea Dell'Amico       <adellam@ZIA.ms.it>
Mitchum DSouza          <Mitch.DSouza@NetComm.IE>
Erwin Embsen            <erwin@nioz.nl>
Peter Eriksson          <peter@ifm.liu.se>

kt�rym powinni�my podzi�kowa� za napisanie pierwszych wersji tego dokumentu.

1.1 Nowe wersje tego dokumentu.

Najnowsz� wersj� tego dokumentu mo�esz zawsze znale�� pod adresem http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html.

Najnowsze wersje b�d� tak�e umieszczane na r�nych serwerach WWW i FTP zwi�zanych z Linux-em w��cznie ze stron� LDP.

Odno�niki do t�umacze� tego dokumentu mo�na znale�� pod adresem http:///www.suse.de/~kukuk/linux/nis-howto.html.

1.2 Zrzeczenie.

Pomimo, i� dokument ten powsta� w jak najlepszej intencji mo�e i pewnie zawiera b��dy. Czytaj prosz� wszystkie pliki README znajduj�ce si� wraz z oprogramowaniem wymienianym tutaj w celu uzyskania jak naj�wie�szych informacji. B�d� sie stara� aby by�o tu jak najmniej b��d�w.

1.3 Komentarze i poprawki.

Je�li masz jakie� pytania czy poprawki dotycz�ce tego dokumentu, pisz �mia�o do Thorstena Kukuk na adres kukuk@suse.de. Przyjmuj� wszelkie sugestie czy krytyk�. Je�li znajdziesz jaki� b��d daj mi zna� prosz�, �ebym m�g� go poprawi� w nast�pnej wersji. Dzi�ki.

Prosz� nie przysy�aj mi pyta� na temat problem�w dotycz�cych twojej dystrybucji Linux-a. Nie znam ka�dej dystrybucji. Ale b�d� si� stara� doda� ka�de rozwi�zanie jaki mi przy�lecie.

1.4 Podzi�kowania.

Chcieliby�my podzi�kowa� wszystkim ludziom, kt�rzy przyczynili si� w jaki� spos�b do powstania i rozwoju tego dokumentu. W porz�dku alfabetycznym:

Byron A Jeff            <byron@cc.gatech.edu>
Markus Rex              <msrex@suse.de>
Miquel van Smoorenburg  <miquels@cistron.nl>

Theo de Raadt jest odpowiedzialny za oryginalny kod yp-klienta. Swen Thuemmler przeni�s� ten kod na Linux-a jak r�wnie� procedury yp do biblioteki libc (znowu na podstawie pracy Theo). Thorsten Kukuk napisa� od zera procedury NIS(YP) i NIS+ dla GNU libc 2.x.

1.5 Od t�umacza.

T�umaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.

Je�li znalaz�e� jakie� ra��ce b��dy ortograficzne, gramatyczne, sk�adniowe, techniczne to pisz do mnie. Zaznaczam, �e nie jestem bieg�y w terminologii kryptografii wi�c wystepuj� tu pewnie jakie� dziwne wyra�enia, kt�re powinienem zapisa� inaczej. Je�li wiesz jak to ma brzmie�, napisz;

B.Maruszewski@jtz.org.pl

Oficjaln� stron� t�umacze� HOWTO jest http://www.jtz.org.pl/

Aktualne wersje przet�umaczonych dokument�w znajduj� si� na tej�e stronie. Dost�pne s� tak�e poprzez anonimowe ftp pod adresem ftp.jtz.org.pl w katalogu /JTZ/.

Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej stronie WWW. S� tam te� odwo�ania do Polskiej Strony T�umaczeniowej.

Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list� dyskusyjn� jtz@ippt.gov.pl. Je�li chcesz sie na ni� zapisa�, to wy�lij list o tre�ci subscribe jtz Imi� Nazwisko na adres majordomo@ippt.gov.pl

Zmiany w tym dokumencie wprowadzone przez t�umacza to odwo�ania do polskich serwer�w ftp.

2. S�owniczek i informacje og�lne.

2.1 S�owniczek termin�w.

W dokumencie tym wyst�puje wiele akronim�w. Oto te najwa�niejsze i kr�tkie wyja�nienie:

DBM

DataBase Management - biblioteka funkcji, kt�re obs�uguj� pary z kluczem (-key-content) w bazie danych.

DLL

Dynamically Linked Library - biblioteka do��czana do wykonywalnego programu podczas jego dzia�ania.

domainname

"Nazwa-klucz", kt�ra jest u�ywana przez klient�w NIS, aby zlokalizowa� pasuj�cy serwer NIS, kt�ry udostepnia klucz dla domeny (domainname key). Zauwa� prosz�, �e to nie koniecznie ma co� wsp�lnego z domen� DNS-ow� (nazw� maszyny).

FTP

File Transfer Protocol - protok� u�ywany do przenoszenia plik�w pomi�dzy komputerami.

libnsl

Name services library - biblioteka odwo�a� "name service" (getpwnam, getservbyname itp.) na unix-ach SVR4. GNU libc u�ywa tego do funkcji NIS (YP) i NIS+.

libsocket

Socket services library - biblioteka odwo�a� obs�ugi gniazdek (socket, bind, listen itp.) na unix-ach SVR4.

NIS

Network Information Service - serwis kt�ry udost�pnia informacj�, kt�ra musi by� znana poprzez sie� dla wszystkich maszyn w sieci. W standardowej bibliotece Linux-a - libc - jest obs�uga dla NIS, kt�ra dalej zwana jest "tradycyjnym NIS-em".

NIS+

Network Information Service (Plus :-) - w�a�ciwie to taki NIS na sterydach. NIS+ zosta� zaprojektowany przez Sun Microsystems Inc. jako zast�pca NIS-a z lepszym bezpiecze�stwem i lepsz� obs�ug� _wielkich_ instalacji.

NYS

Jest to nazwa projektu, kt�ry powsta� z NIS+, YP i Switch i zarz�dzany jest przez Petera Erikssona <peter@ifm.liu.se>. Mi�dzy innymi zawiera powt�rn� implementacj� kodu NIS-a (=YP), kt�ra u�ywa funkcjonalno�ci Name Service Switch biblioteki NYS.

NSS

Name Service Switch. Plik /etc/nsswitch.conf okre�la kolejno��, w jakiej sprawdza si� pewne ��dane informacje.

RPC

Remote Procedure Call. Procedury RPC pozwalaj� programom w C odwo�ywa� si� do procedur na odleg�ej maszynie poprzez sie�. Kiedy ludzie m�wi� o RPC to najcz�ciej maj� na my�li wariant Sun-a RPC.

YP

Yellow Pages(TM) - zarejestrowany znak towarowy w UK firmy British Telecom plc.

TCP-IP

Transmission Control Protocol/Internet Protocol. To protok� komunikacji danych najcz�ciej u�ywany na maszynach unix-owych.

2.2 Troch� og�lnych informacji.

Nast�puj�ce 3 linijki to cytat z podr�cznika Sun(TM) System & Network Administration Manual:

"NIS znany by� wcze�niej jako Sun Yellow Pages (YP), ale nazwa Yellow
Pages(TM) jest zarejestrowanym znakiem towarowym w Zjednoczonym
Kr�lestwie firmy British Telecom plc i nie mo�e by� u�ywana bez zgody."

NIS to skr�t od Network Information Service. Celem jego jest dostarczanie informacji, kt�ra musi by� znana na sieci dla wszystkich komputer�w. Informacja, kt�ra najprawdopodobniej b�dzie dystrybuowana to:

Je�li na przyk�ad informacja o twoim ha�le jest zapisana w bazie hase� NIS, b�dziesz m�g� si� zalogowa� na wszystkich maszynach na sieci, kt�re maj� uruchomionego klienta NIS.

Sun jest znakiem towarowym Sun Microsystems, Inc. licencjonowane dla SunSoft, Inc.

3. NIS , NYS czy NIS+ ?

3.1 libc 4/5 z tradycyjnym NIS czy NYS ?

Wyb�r pomi�dzy "tradycyjnym NIS" czy kodem NIS w bibliotece NYS jest wyborem pomi�dzy lenistwem i rozwojem a elastyczno�ci� i zami�owaniem do przygody.

Kod "tradycjnego NIS" jest w standardowej bibliotece C i istnieje ju� d�ugo i czasem cierpi z powodu swojego wieku i pewnej nieelastyczno�ci.

Kod NIS w bibliotece NYS wymaga rekompilacji biblioteki libc, aby w��czy� do niej kod NYS (albo mo�esz wzi�� ju� skompilowan� wersj� libc od kogo� kto ju� j� skompilowa�).

Inn� r�nic� jest to, �e "tradycyjny NIS" ma pewn� obs�ug� NIS Netgroups, kt�rej NYS nie ma. Z drugiej strony NYS pozwala obs�ugiwa� Shadow Passwords w spos�b przezroczysty. "Tradycyjny NIS" nie obs�uguje Shadow passwords przez NIS.

Zapomnij o tym wszystkim je�li u�ywasz nowej biblioteki GNU C 2.x (aka libc6). Ma ona rzeczywist� obs�ug� NSS (Name Switch Service), co czyni j� bardzo elastyczn� oraz zawiera obs�ug� nast�puj�cych map NIS/NIS+: aliases, ethers, group, hosts, netgroups, networks, protocols, publickey, passwd, rpc, services i shadow. Biblioteka GNU C nie ma �adnych problem�w z shadow password przez NIS.

3.2 NIS czy NIS+ ?

Wyb�r mi�dzy NIS a NIS+ jest prosty - u�yj NIS-a je�li nie musisz u�ywa� NIS+ czy nie musisz stosowa� zaostrzonego bezpiecze�stwa. Z NIS+ jest _o wiele_ wi�cej k�opot�w je�li chodzi o administracj� (jest nim ca�kiem �atwo zarz�dza� od strony klienta, ale serwer to horror). Innym problemem jest fakt, �e wsparcie dla NIS+ w Linux-ie jest ci�gle w fazie rozwoju - potrzebujesz najnowszej biblioteki glibc, albo musisz poczeka� na glibc 2.1. Istnieje wersja zast�pcza glibc z obs�ug� NIS+ dla libc5.

4. Jak to dzia�a.

4.1 Jak dzia�a NIS.

W ca�ej sieci musi by� przynajmniej jedna maszyna dzia�aj�ca jako serwer NIS. Mo�esz zrobi� wi�cej serwer�w NIS, ka�dy dla innej "domeny" NIS - albo mo�esz mie� wsp�pracuj�ce serwery NIS, gdzie jeden ma by� g��wnym serwerem NIS (master) a wszystkie inne s� tak zwanymi slave NIS servers (to znaczy dla pewnej "domeny" NIS!) - albo mo�esz to pomiesza�.

Serwery slave posiadaj� tylko kopi� baz danych NIS i otrzymuj� te kopie od g��wnego serwera NIS kiedy tylko robione s� jakie� zmiany w g��wnej bazie. W zale�no�ci od liczby komputer�w w twojej sieci, mo�esz zdecydowa� si� na instalacj� jednego lub wi�kszej ilo�ci serwer�w slave. Kiedy tylko serwer NIS jest unieruchamiany (goes down) albo jest zbyt wolny w odpowiedziach na ��dania, klient NIS-a pod��czony do tego serwera spr�buje znale�� ten, kt�ry dzia�a albo jest szybszy.

Bazy danych NIS s� w tak zwanym formacie DBM, pochodz�cym od baz danych ASCII. Na przyk�ad, pliki /etc/passwd i /etc/group mog� by� bezpo�rednio zamienione na DBM przy pomocy oprogramowania translacyjnego ASCII-na-DBM ("makedbm" - dostarczanym wraz z serwerem). G��wny serwer NIS powinien posiada� obie bazy - tak ASCII jak i DBM.

Serwery slave zostan� powiadomione o ka�dej zmianie w mapach NIS, (poprzez program "yppush") i automatycznie uaktualni� owe zmiany, aby zsynchronizowa� swoje bazy danych. Klienci NIS nie musz� tego robi� poniewa� oni zawsze ��cz� si� z serwerem NIS, aby odczyta� informacje zapisane w bazach danych DBM.

Stare wersje ypbind wysy�aj� adres rozg�oszeniowy (broadcast), aby znale�� dzia�aj�cy serwer NIS. Jest to niebezpieczne poniewa� ka�dy mo�e zainstalowa� serwer NIS i odpowiedzie� na takie zapytanie. Nowsze wersje ypbind (3.3 czy mt) pobieraj� adres serwera z pliku konfiguracyjnego - i nie ma potrzeby wysy�ania adresu rozg�oszeniowego.

4.2 Jak dzia�a NIS+.

NIS+ to nowa wersja "network information nameservice" z Sun-a. Najwi�ksz� r�nic� pomi�dzy NIS i NIS+ jest obs�uga kodowania danych i autentykacja poprzez bezpieczne RPC w NIS+.

Model nazewnictwa w NIS+ jest zbudowany w postaci struktury drzewiastej. Ka�dy w�ze� w drzewie odpowiada objektowi NIS+, kt�rych mamy sze�� typ�w: katalog, pozycja (entry), grupa, do��czenie, tablica i prywatne.

Katalog NIS+, kt�ry tworzy podstaw� przestrzeni nazw w NIS+ nazywa si� katalogiem "root". S� dwa specjalne katalogi NIS+: org_dir i groups_dir. Katalog org_dir sk�ada si� z wszystkich tablic administracyjnych, takich jak passwd, hosts i mail_aliases. Katalog groups_dir sk�ada si� z grup objekt�w NIS+, kt�re u�ywane s� do kontroli dost�pu. Kolekcja org_dir, groups_dir i ich katalog�w nadrz�dnych to domena NIS+.

5. Portmapper RPC

Aby m�c uruchomi� jakikolwiek z wymienionych poni�ej program�w, b�dziesz musia� uruchomi� program /usr/bin/portmap. Niekt�re dystrybucje maj� skrypt uruchamiaj�cy ten demon w plikach startowych /sbin/init.d/ czy /etc/rc.d/. Wszystko co musisz zrobi�, to uaktywni� go i zrestartowa� komputer. Przeczytaj dokumenctaj� dostarczon� wraz z dystrybucj�, aby si� dowiedzie� jak to zrobi�.

Portmapper RPC (portmap(8)) jest serwerem, kt�ry zamienia numery programowe RPC na numery port�w protoko�u TCP/IP (albo UDP/IP). Musi by� on uruchomiony, aby m�c u�ywa� na tej maszynie odwo�a� RPC (co w�a�nie robi oprogramowanie klienta NIS/NIS+) do serwer�w RPC (takich jak serwer NIS czy NIS+). Kiedy serwer RPC jest startowany, poinformuje on portmap-a na kt�rych portach nas�uchuje, i jakimi numerami programowymi RPC mo�e s�u�y�. Kiedy klient chce odwo�a� si� przez RPC do danego numeru programowego, najpierw skontaktuje si� z portmap-em na maszynie serwerowej, aby okre�li� numer portu, do kt�rego nale�y wys�a� pakiety RPC.

Normalnie, standardowe serwery RPC s� startowane przez inetd(8), wi�c portmap musi dzia�a� zanim wystartuje inetd.

Dla bezpiecze�stwa portmapper potrzebuje serwisu czasu (Time Service). Upewnij si� czy serwis ten jest w��czony w /etc/inetd.conf na wszystkich hostach:

#
# Time service is used for clock syncronization.
#
time    stream  tcp     nowait  nobody  /usr/sbin/tcpd  in.timed
time    dgram   udp     wait    nobody  /usr/sbin/tcpd  in.timed

WA�NE: Nie zapomnij zresetowa� (kill -HUP) inetd-a po dokonaniu zmian jego pliku konfiguracyjnym !

6. Czego potrzebujesz, aby ustawi� NIS?

6.1 Sprawd� czy jeste� serwerem, serwerem slave czy klientem.

Aby odpowiedzie� na to pytanie musisz rozwa�y� dwa przypadki:

  1. Twoja maszyna b�dzie cz�ci� sieci z istniej�cymi serwerami NIS.
  2. Nie masz jeszcze �adnego serwera NIS w sieci.

W pierwszym przypadku potrzebujesz tylko program�w klienta (ypbind, ypwhich, ypcat, yppoll, ypmatch). Najwa�niejszym programem jest ypbind. Program ten musi by� uruchomiony przez ca�y czas, to znaczy powinien zawsze pojawia� si� w li�cie proces�w. Jest to proces-demon i musi by� startowany z plik�w startowych systemu (np. /etc/init.d/nis, /sbin/init.d/ypclient, /etc/rc.local, /etc/rc.d/init.d/ypbind).
Jak tylko ypbind jest uruchomiony, tw�j komputer staje si� klientem NIS.

W drugim przypadku, je�li nie masz serwer�w NIS, to b�dziesz tak�e potrzebowa� programu serwera NIS (zwykle zwanego ypserv). Sekcja Konfiguracja serwera NIS opisuje jak ustawi� serwer NIS na twojej maszynie Linux-owej przy pomocy implementacji "ypserv" Petera Erikssona i Thorstena Kukuka.
Zauwa�, �e od wersji 0.14 implementacja ta obs�uguje koncept master-slave om�wiony w sekcji 4.1.

Jest jeszcze jeden darmowy serwer NIS, zwany "yps", napisany przez Tobiasa Rebera w Niemczech, kt�ry obs�uguje koncept master-slave, ale ma inne ograniczenia i nie jest wspierany od d�ugiego czasu.

6.2 Oprogramowanie.

Biblioteka systemowa "/usr/lib/libc.a" (wersja 4.4.2 i nowsza) czy biblioteka dzielona "/lib/libc.so.x" zawieraj� wszystkie odwo�ania systemowe niezb�dne do skompilowania oprogramowania klienta i serwera NIS. Do biblioteki glibc 2.x, potrzebujesz tak�e biblioteki /lib/libnsl.so.1.

Niekt�rzy podawali, �e NIS dzia�a tylko z "/usr/lib/libc.a" w wersji 4.5.21 i nowszej, wi�c je�li chcesz by� zabezpieczony, to nie u�ywaj starszych bibliotek. Oprogramowanie klienckie NIS mo�na znale�� w:

  Adres                 Katalog                          Nazwa Pliku


  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.2.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.4.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3-glibc5.diff.gz
  ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz 
  ftp.icm.edu.pl        /pub/Linux/sunsite/system/network/admin yp-clients-2.2.tar.gz

[Od t�umacza: Je�li jeste� w Polsce, to u�yj raczej tego ostatniego adresu.]

Jak ju� masz oprogramowanie, post�puj zgodnie z instrukcjami przychodz�cymi wraz z nim. yp-clients 2.2 nadaje si� do u�ytku z libc4 i libc5 a� do 5.4.20. libc 5.4.21 i glibc 2.x potrzebuj� yp-tools 1.4.1 lub nowsze. Nowe yp-tools 2.0 b�d� dzia��� z ka�d� bibliotek� libc dla Linux-a. Poniewa� by� pewien b��d w kodzie NIS-a nie powiniene� u�ywa� libc 5.4.21-35. W zamian u�yj 5.4.36 lub nowszej, inaczej wi�kszo�� program�w YP nie b�dzie dzia�a�a. ypbind 3.3 b�dzie dzia�a� tak�e ze wszystkimi bibliotekami. Je�li u�ywasz gcc 2.8.x lub nowszej wersji, egcs lub glibc 2.x, to powiniene� na�o�y� �at� ypbind-3.3-glibc5.diff na ypbind 3.3. Nie powiniene� nigdy u�ywa� ypbind z yp-clients 2.2. ypbind-mt jest nowym, wielow�tkowym demonem; do dzia�ania potrzebuje j�dra w wersji 2.2 i glibc 2.1 lub nowszej.

6.3 Demon ypbind.

Zak�adaj�c, �e uda�o ci si� skompilowa� oprogramowanie jeste� gotowy do zainstalowania go. Odpowiednim miejscem dla demona ypbind b�dzie /usr/sbin. Niekt�rzy mog� ci m�wi�, �e nie potrzebujesz ypbind w systemie z NYS. Jest to b��dne, gdy� ypwhich i ypcat potrzebuj� go.

B�dziesz to oczywi�cie musia� zrobi� jako root. Inne programy (ypwhich, ypcat, yppoll, ypmatch) powinny znale�� si� w katalogu dost�pnym dla wszystkich u�ytkownik�w, zwykle /usr/bin.

Nowsze wersje ypbind posiadaj� plik konfiguracyjny - /etc/yp.conf. Mo�esz tam na sta�e wpisa� serwer NIS - wi�cej informacji w podr�czniku systemowym - man ypbind(8).
Potrzebujesz tego pliku tak�e do NYS. Przyk�ad:

  ypserver voyager
  ypserver defiant
  ypserver ds9

Je�li system mo�e rozwin�� nazw� bez NIS, to m�g�by� u�y� tej nazwy. W przeciwnym wypadku musisz u�y� adresu IP. W ypbind 3.3 jest b��d; tylko ostatni adres zostanie u�yty (ds9 w tym przyk�adzie). Wszystkie pozosta�e pozycje zostan� zignorowane. ypbind-mt obs�u�y to poprawnie i u�yje tego, kt�ry odpowiedzia� pierwszy.

Dobrym pomys�em b�dzie przetestowanie ypbind przed wprowadzeniem go do plik�w startowych. Aby to zrobi� post�puj tak:

W tym momencie powiniene� m�c u�ywa� program�w klienckich NIS takich jak ypcat itp... Na przyk�ad "ypcat passwd.byname" poda ci ca�� baz� danych NIS z has�ami.

WA�NE: Je�li pomin��e� test, to upewnij si�, �e ustawi�e� nazw� domeny i stworzy�e� katalog

    /var/yp

Ten katalog MUSI istnie�, aby ypbind poprawnie si� uruchomi�.

Aby sprawdzi� czy nazwa domeny zosta�a ustawiona poprawnie u�yj programu /bin/ypdomainname z pakietu yp-tools 2.2. U�ywa on funkcji yp_get_default_domain(), kt�ra jest bardziej restrykcyjna. na przyk�ad nie pozwala na domen� "(none)", kt�ra jest domy�ln� w Linux-ie. i stwarza wiele k�opot�w.

Je�li test si� powi�d� mo�esz tera� zmodyfikowa� pliki w skryptach startowych twojego systemu, tak �eby ypbind startowa� podczas startu systemu. Upewnij si�, �e nazwa domeny zostanie ustawiona zanim wystartujesz ypbind.

C�, to wszystko. Zresetuj komputer i obserwuj komunikaty podczas startu, �eby zobaczy� czy ypbind w�a�ciwie wystartowa�.

6.4 Ustawianie kilenta NIS przy u�yciu Tradycyjnego NIS-a.

Do sprawdzania nazw musisz ustawi� (albo doda�) "nis", do linii kolejno�ci sprawdzania w pliku /etc/host.conf. Przeczytaj stron� podr�cznika systemowego "resolv+.8", aby dowiedzie� si� wi�cej szczeg��w.

Na maszynach klienckich dodaj nast�puj�c� lini� w /etc/passwd:

+::::::

Mo�esz tak�e u�y� znaczk�w +/-, aby w��czy�/wy��czy� lub zmieni� u�ytkownik�w. Je�li chcesz wy��czy� u�ytkownika guest dodaj -guest do swojego pliku /etc/passwd. Chcesz u�y� innej pow�oki (np. ksh) dla u�ytkownika "linux"? Nie ma problemu, po prostu dodaj do swojego /etc/passwd "+linux::::::/bin/ksh" (bez cudzys�owi�w). Pola, kt�rych nie chcesz zmienia� musz� pozosta� puste. M�g�by� tak�e u�y� Netgroups do kontroli u�ytkownik�w.

Na przyk�ad, aby pozwoli� tylko miquels, dth, ed i wszystkim cz�onkom grupy sieciowej sysadmin na login, ale �eby dane o kontach wszystkich innych u�ytkownik�w by�y dost�pne u�yj:

      +miquels:::::::
      +ed:::::::
      +dth:::::::
      +@sysadmins:::::::
      -ftp
      +:*::::::/etc/NoShell

Zauwa�, �e na Linuksie mo�esz tak�e zmieni� pole z has�em, jak to zrobili�my w tym przyk�adzie. Usun�li�my tak�e login "ftp", tak wi�c nie jest on ju� znany i anonimowe ftp nie b�dzie dzia�a�.

Netgroup wygl�da�oby tak:

sysadmins (-,software,) (-,kukuk,)

WA�NE: Cecha netgroup jest zaimplementowana pocz�wszy od libc 4.5.26. Je�li masz wersj� biblioteki wcze�niejsz� ni� 4.5.26, ka�dy u�ytkownik w bazie danych z has�ami ma dost�p do twojego Linux-a je�li masz uruchomiony "ypbind".

6.5 Ustawianie klienta NIS u�ywaj�c NYS.

Wszystko co jest potrzebne, to to, �eby plik konfiguracyjny (/etc/yp.conf) wskazywa� na poprawn-y/e serwer(y). Tak�e plik konfiguracyjny Name Service Switch (/etc/nsswitch.conf) musi by� poprawnie ustawiony.

Powiniene� zainstalowa� ypbind. Nie jest on potrzebny dla libc, ale narz�dzia NIS(YP) go potrzebuj�.

Je�li chcesz u�ywa� cechy w��czania/wy��czania u�ytkownika (+/-guest/+@admins), musisz u�y� "passwd: compat" i "group: compat" w pliku nsswitch.conf. W tym przypadku musisz u�y� "shadow: files nis"

�r�d�a NYS s� cz�ci� �r�de� libc 5. Kiedy uruchamiasz configure, za pierwszym razem odpowiedz "NO" na pytanie "Values correct", potem odpowiedz "YES", na "Build a NYS libc from nys".

6.6 Ustawianie klienta NIS u�ywaj�c glibc 2.x

Glibc u�ywa "tradycyjnego NIS", tak wi�c musisz uruchomi� ypbind. Plik konfiguracyjny Name Service Switch (/etc/nsswitch.conf) musi by� poprawnie ustawiony. Je�li u�ywasz trybu kompatybilnego z passwd, shadow czy group, musisz doda� "+" na ko�cu tego pliku, i mo�esz u�ywa� cechy w��czania/wy��czania u�ytkownika. Konfiguracja jest dok�adnie taka sama jak pod Solaris-em 2.x.

6.7 Plik nsswitch.conf

Plik /etc/nsswitch.conf okre�la kolejno�� w jakiej odbywa si� sprawdzanie kiedy pojawi si� ��danie pewnej informacji, tak samo jak plik /etc/host.conf, kt�ry okre�la kolejno�� sprawdzania adres�w host�w. Na przyk�ad linia:

    hosts: files nis dns

okre�la, �e funkcje sprawdzania adres�w host�w powinny najpierw szuka� w lokalnym pliku /etc/hosts, potem w bazie NIS i na ko�cu w DNS-ie (/etc/resolv.conf i named), gdzie je�li nie znaleziono odpowiedzi pojawia si� b��d. Ten plik musi by� czytelny dla ka�dego u�ytkownika. Wi�cej informacji znajdziesz na stronie podr�cznika systemowego nsswicth.5 lub nsswitch.conf.5.

Poprawny plik /etc/nsswitch.conf dla NIS:

#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Pozycja '[NOTFOUND=return]' oznacza, �e poszukiwania powinny
# zako�czy� si�, je�li poszukiwania w poprzedniej pozycji nic nie
# da�y. Zauwa�, �e je�li poszukiwania nie powiod�y si� z
# jakich� innych powod�w (jak nie odpowiadaj�cy serwer NIS), to
# poszukiwania s� kontynuowane z nast�pn� pozycj�.
#
# Poprawne pozycje to:
#
#       nisplus                 Use NIS+ (NIS version 3)
#       nis                     Use NIS (NIS version 2), also called YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use the local files
#       db                      Use the /var/db databases
#       [NOTFOUND=return]       Stop searching if not found so far
#

passwd:     compat
group:      compat
# Je�li masz libc5 musisz u�y� shadow: files nis
shadow:     compat

passwd_compat: nis
group_compat: nis
shadow_compat: nis

hosts:      nis files dns

services:   nis [NOTFOUND=return] files
networks:   nis [NOTFOUND=return] files
protocols:  nis [NOTFOUND=return] files
rpc:        nis [NOTFOUND=return] files
ethers:     nis [NOTFOUND=return] files
netmasks:   nis [NOTFOUND=return] files
netgroup:   nis
bootparams: nis [NOTFOUND=return] files
publickey:  nis [NOTFOUND=return] files
automount:  files
aliases:    nis [NOTFOUND=return] files

passwd_compat, group_compat i shadow_compat s� obs�ugiwane tylko przez glibc 2.x. Je�li nie ma zasad (rules) shadow w /etc/nsswitch.conf, glibc u�yje zasady (rule) passwd do sprawdzenia. Jest wi�cej modu��w szukania dla glibc jak hesoid. Wi�cej informacji znajdziesz w dokumentacji glibc.

6.8 Shadow Passwords z NIS i PAM.

Shadow passwords przez NIS to zawsze z�y pomys�. Straci�e� ochron�, kt�r� daje shadow passwords i tylko niewiele bibliotek C ma obs�ug� takiej kombinacji. Dobrym pomys�em na unikni�cie przesy�ania shadow paswords przez NIS jest umie�ci� tylko u�ytkownik�w lokalnego systemu do pliku /etc/shadow. Usu� pozycje dotycz�ce u�ytkownik�w NIS z bazy shadow i umie�� has�o spowrotem w passwd. Tak �e mo�esz u�ywa� shadow dla logowania si� jako root i normalnych hase� dla u�ytkownik�w NIS. Ma to t� zalet�, �e b�dzie to dzia�a�o z ka�dym klientem NIS.

Linux

Jedyn� bibliotek� jaka obs�uguja kombinacj� Shadow passwords prze NIS jest libc 2.x. Libc5 nie potrafi tego obs�u�y�. Libc5 skompilowana z obs�ug� NYS posiada troch� kodu na ten temat. Jednak kod ten jest miernej warto�ci i nie dzia�a poprawnie z wszystkimi pozycjami shadow.

Solaris

Solaris nie obs�uguje takiej kombinacji w og�le.

PAM

PAM nie obs�uguje Shadow Passwords przez NIS,a szczeg�lnie pam_pwdb/libpwdb. Jest to powa�ny problem dla u�ytkownik�w RedHat 5.x. Je�li masz glibc i PAM, to musisz zmieni� pozycje w plikach /etc/pam.d/*. Zamie� wszystkie zasady dotycz�ce pam_pwdb na modu�y pam_unix_*. Z powodu b��du w module pam_unix_auth.so nie b�dzie on zawsze dzia�a�.

Przyk�adowy plik /etc/pam.d/login mo�e wygl�da� tak:

#%PAM-1.0
auth       required    /lib/security/pam_securetty.so
auth       required    /lib/security/pam_unix_auth.so
auth       required    /lib/security/pam_nologin.so
account    required    /lib/security/pam_unix_acct.so
password   required    /lib/security/pam_unix_passwd.so
session    required    /lib/security/pam_unix_session.so

Do autoryzacji potrzbujesz modu�u pam_unix_auth.so, do kont pam_unix_acct.so, do hase� pam_unix_passwd.so a do sesji pam_unix_session.so.

7. Czego potrzebujesz do ustawienia NIS+?

7.1 Oprogramowanie.

Klient dla NIS+ na Linuxa zosta� napisany dla biblioteki GNU C 2. Jest tak�e wersja dla libc5, poniewa� wi�kszo�� komercyjnych aplikacji jest z ni� skompilowane i nie mo�na ich przekompilowa� z bibliotek� glibc. Z bibliotek� t� i NIS+ s� problemy: Nie m�g�by� do��czy� statycznie tej biblioteki do program�w i programy skompilowane z t� bibliotek� nie b�d� dzia�a�y z inn�.

Musisz �ci�gn�� i skompilowa� najnowsz� bibliotek� GNU C 2.1 dla platformy Intela albo biblioteki GNU C 2.1.1 dla platform 64-bitowych. Potrzebujesz tak�e systemu opartego na glibc jak RedHat 5.x, Debian 2.x czy SuSE Linux 6.x.

W ka�dej dystrybucji musisz przekompilowa� kompilator gcc/g++, libstdc++ i ncurses. W RedHat musisz wiele zmieni� w konfiguracji PAM. W SuSE 6.0 musisz przekompilowa� pakiet Shadow Passwords.

Oprogramowanie klienckie NIS+ mo�na pobra� z:

  Adres                  Katalog                    Nazwa Pliku

  ftp.funet.fi     /pub/gnu/funet                libc-*, glibc-crypt-*,
                                                 glibc-linuxthreads-*
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-19990223.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     pam_keylogin-1.2.tar.gz

Dystrybucje oparte na glibc mo�na �ci�gn�� z:

  Adres                  Katalog

  ftp.redhat.com         /pub/redaht/redhat-5.2
  ftp.debian.org         /pub/debian/dists/stable
  ftp.icm.edu.pl         /pub/Linux/redhat
  ftp.icm.edu.pl         /pub/Linux/debian

[Od t�umacza: Je�li jeste� w Polsce, to u�yj dw�ch ostatnich adres�w.]

Aby skompilowa� bibliotek� GNU C post�puj zgodnie z instrukcjami do��czonymi do niej. Tutaj mo�esz znale�� za�atan� libc5, opart� o �r�d�a NYS i glibc zamiast standardowej libc5:

  Adres                  Katalog                    Nazwa Pliku
  ftp.kernel.org     /pub/linux/utils/net/NIS+  libc-5.4.44-nsl-0.4.10.tar.gz

Powiniene� tak�e zajrze� do http://www.suse.de/~kukuk/linux/nisplus.html, aby zdoby� wi�cej informacji i najnowsze �r�d�a.

7.2 Konfiguracja klienta NIS+.

WA�NE: Aby ustawi� klienta NIS+, przeczytaj dokumenctaj� do NIS+ na Solaris-a, aby si� dowiedzie� co zrobi� po stronie serwera ! Dokument ten opisuje tylko co zrobi� po stronie klienta !

Po zainstalowaniu nowej biblioteki libc i nis-tools stw�rz listy uwierzytelniaj�ce dla nowego klienta na serwerze NIS+. Upewnij si�, �e dzia�a portmap. Potem sprawd� czy na twoim Linux-ie jest ten sam czas co na serwerze. W bezpiecznym RPC masz tylko 3 minuty, w ci�gu kt�rych listy uwierzytelniaj�ce s� aktualne. Dobrym pomys�em jest uruchomienie na wszystkich hostach xntpd. Potem uruchom

domainname domena.nisplus
nisinit -c -H <serwer NIS+>

aby zainicjalizowa� zimny start file. Przeczytaj stron� podr�cznika systemowego o nisinit i znajd� jego opcje. Upewnij si�, �e nazwa domeny b�dzie zawsze ustawiona po resecie. Je�li nie wiesz jaka jest nazwa domeny w twojej sieci, zapytaj administratora.

Teraz powiniene� zmieni� sw�j plik konfiguracyjny /etc/nsswitch.conf. Upewnij si�, �e jedynym serwisem po publickey jest nisplus ("publickey: nisplus") i nic wi�cej !

Potem uruchom keyserv i upewnij si�, �e zawsze b�dzie startowany jako nast�py demon po portmaperze podczas startu. Uruchom:

keylogin -r

aby zapisa� tajny klucz (secretkey) root-a na twoim systemie. (Mam nadziej�, �e doda�e� klucz publiczny dla nowego hosta na serwerze NIS+?).

"niscat passwd.org_dir" powinno pokaza� ci teraz wszystkie pozycje w bazie danych z has�ami.

7.3 NIS+, keylogin, login i PAM.

Kiedy u�ytkownik si� loguje musi ustawi� sw�j tajny klucz dla keyserv-a. Robi si� to przez wywo�anie "keylogin". Login z pakietu shadow zrobi to za u�ytkownika je�li zosta� skompilowany z bibliotek� glibc 2.1. W przypadku login-u PAM musisz zainstalowa� pam_keylogin-1.2.tar.gz i zmodyfikowa� plik /etc/pam.d/login, tak aby u�ywa� pam_unix_auth, a nie pwdb, kt�re nie obs�uguje NIS+. Na przyk�ad:

#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
auth       required     /lib/security/pam_keylogin.so
auth       required     /lib/security/pam_unix_auth.so
auth       required     /lib/security/pam_nologin.so
account    required     /lib/security/pam_unix_acct.so
password   required     /lib/security/pam_unix_passwd.so
session    required     /lib/security/pam_unix_session.so

7.4 Plik nsswitch.conf.

Plik /etc/nsswitch.conf okre�la kolejno�� w jakiej odbywa si� sprawdzanie kiedy pojawi si� ��danie pewnej informacji, tak samo jak plik /etc/host.conf, kt�ry okre�la kolejno�� sprawdzania adres�w host�w. Na przyk�ad linia:

    hosts: files nis dns

okre�la, �e funkcje sprawdzania adres�w host�w powinny najpierw szuka� w lokalnym pliku /etc/hosts, potem w bazie NIS i na ko�cu w DNS-ie (/etc/resolv.conf i named), gdzie je�li nie znaleziono odpowiedzi, to zwracany jest b��d.

Poprawny plik /etc/nsswitch.conf dla NIS:

#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Pozycja '[NOTFOUND=return]' oznacza, �e poszukiwania powinny
# zako�czy� si�, je�li poszukiwania w poprzedniej pozcyji nic nie
# da�y. Zauwa�, �e je�li poszukiwania nie powiod�y si� z
# jakich� innych powod�w (jak nie odpowiadaj�cy serwer NIS), to
# poszukiwania s� kontynuowane z nast�pn� pozycj�.
#
# Poprawne pozycje to:
#
#       nisplus                 Use NIS+ (NIS version 3)
#       nis                     Use NIS (NIS version 2), also called YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use the local files
#       db                      Use the /var/db databases
#       [NOTFOUND=return]       Stop searching if not found so far
#

passwd:     compat
# dla libc5: passwd: files nisplus
group:      compat
# dla libc5: group: files nisplus
shadow:     compat
# dla libc5: shadow: files nisplus

passwd_compat: nisplus
group_compat: nisplus
shadow_compat: nisplus

hosts:      nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus [NOTFOUND=return] files
automount:  files
aliases:    nisplus [NOTFOUND=return] files

8. Konfiguracja serwera NIS.

8.1 Program ypserv.

Dokument ten opisuje tylko jak skonfigurowa� serwer NIS oparty na "ypserv".

Oprogramowanie serwera NIS mo�na znale�� na:

  Adres                  Katatlog                      Nazwa pliku

  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-1.3.6.tar.gz

Mo�esz tak�e zajrze� do http://www.suse.de/~kukuk/linux/nis.html po wi�cej informacji i najnowsze �r�d�a.

Ustawianie serwera jest takie samo dla tradycyjnego NIS i NYS.

Skompiluj oprogramowanie, aby wygenerowa� programy "ypserv" i "makedbm". Mo�esz skonfigurowa� program ypserv, aby u�ywa� pliku securenets albo tcp_wrappers. Tcp_wrappers sa o wiele bardziej elastyczne, ale wielu ludzi ma z tym powa�ne k�opoty. A niekt�re pliki konfiguracyjne mog� powodowa� przeciek w pami�ci (?? memory leak: mo�e autor mia� na my�li brak pami�ci ?? - lack of memory). Je�li masz problemy z ypserv skompilowanym dla tcp_wrappers, to przekompiluj go do u�ywania pliku securenets. ypserv --version, poka�e jak� masz wersj�.

Je�li uruchamiasz sw�j serwer jako g��wny, okre�l jakie pliki maj� by� dost�pne przez NIS i wtedy dodaj lub usu� odpowiednie pozycje w /var/yp/Makefile. Zawsze powiniene� zagl�da� do plik�w Makefile i zapozna� si� z opcjami na pocz�tku pliku.

Pomi�dzy ypserv 1.1 a 1.2 by�a jedna du�a zmiana. Od wersji 1.2, ypserv "keszuje" uchwyty plik�w (file handles). Oznacza to, �e zawsze kiedy stworzysz now� map� musisz wywo�a� makedbm z opcj� -c. Upewnij si�, �e u�ywasz nowego /var/yp/Makefile z ypserv 1.2 lub nowszego, albo dodaj opcj� -c do makedbm w pliku Makefile. Je�li tego nie zrobisz, ypserv b�dzie wci�� u�ywa� starych map zamiast uaktualnionych.

Teraz zmodyfikuj /var/yp/securenets i /etc/ypserv.conf.
Wi�cej informacji na stronach podr�cznika man o ypserv(8) i ypserv.conf(5).

Upewnij si� czy portmapper (portmap(8)) jest uruchomiony i uruchom serwer ypserv. Polecenie:

    % rpcinfo -u localhost ypserv

powinno pokaza� co� takiego:

    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting

Linii z "version 1" mo�e nie by�; zale�nie od wersji ypserv i konfiguracji, kt�rej u�ywasz. Tylko w klientach SunOS 4.x jest to wymagane.

Teraz wygeneruj baz� danych NIS (YP). Na serwerze g��wnym uruchom:

    % /usr/lib/yp/ypinit -m

na slave upewnij si�, �e dzia�a ypwhich -m. Potem uruchom

    % /usr/lib/yp/ypinit -s masterhost

To wszystko, tw�j serwer ju� dzia�a.

Je�li masz wi�ksze problemy, mo�esz wystartowa� ypserv i ypbind i trybie �ledzenia (debug) w innym oknie. Komunikaty pojawiaj�ce si� w tym trybie powinny ci powiedzie� co jest nie tak.

Je�li musisz uaktualni� map�, to uruchom make w katalogu /var/yp na master serwerze NIS. Uaktualni to map� je�li plik �r�d�owy jest nowszy i prze�le pliki do serwer�w slave. Nie u�ywaj ypinit do uaktualniania map.

Mo�esz zmodyfikowa� crontab root-a *na serwerze slave* i doda� poni�sze linie:

      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday

To upewni nas, �e mapy NIS s� aktualne, nawet je�li jakie� uaktualnienie zosta�o przeoczone z powodu np. wy��czenia serwera slave podczas modyfikowania bazy g��wnej.

Serwer slave mo�esz doda� kiedykolwiek p�niej. Najpierw upewnij si�, �e nowy serwer slave ma pozwolenie na kontaktowanie si� z masterem NIS. Potem uruchom

    % /usr/lib/yp/ypinit -s masterhost

na nowym slavie. Na serwerze master dodaj nazw� nowego serwera slave do pliku /var/yp/ypservers uruchom make w </var/yp, aby uaktualni� mapy.

Je�li chcesz ograniczy� dost�p do twojego serwera NIS b�dziesz musia� ustawi� serwer NIS tak�e jako klienta przez uruchomienie ypbind i dodanie pozycji + do /etc/passwd _w po�owie_ (halfway) pliku z has�ami. Funkcje biblioteczne zignoruj� wszystkie normalne pozycje po pierwszej pozycji NIS i i reszt� informacji zdob�d� przez NIS.W ten spos�b obs�ugiwany jest dost�p NIS. Przyk�ad:

     root:x:0:0:root:/root:/bin/bash
     daemon:*:1:1:daemon:/usr/sbin:
     bin:*:2:2:bin:/bin:
     sys:*:3:3:sys:/dev:
     sync:*:4:100:sync:/bin:/bin/sync
     games:*:5:100:games:/usr/games:
     man:*:6:100:man:/var/catman:
     lp:*:7:7:lp:/var/spool/lpd:
     mail:*:8:8:mail:/var/spool/mail:
     news:*:9:9:news:/var/spool/news:
     uucp:*:10:50:uucp:/var/spool/uucp:
     nobody:*:65534:65534:noone at all,,,,:/dev/null:
     +miquels::::::
     +:*:::::/etc/NoShell
[ PO tej linii normalni u�ytkownicy ! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh

U�ytkownik tester b�dzie istnia�, ale b�dzie mia� ustawion� pow�ok� na /etc/NoShell. miquels b�dzie mia� normalny dost�p.

Alternatywnie m�g�by� zmodyfikowa� plik /var/yp/Makefile i ustawi� NIS, tak �eby u�ywa� innego �r�d�owego pliku z has�ami. W du�ych systemach NIS-owe pliki z has�ami i grupami znajduj� si� zwykle w /etc/yp/. Je�li tak zrobisz, to zwyk�e narz�dzia jak passwd, chfn, adduser nie b�d� ju� dzia�a� i b�dziesz potrzebowa� specjalnych w�asnor�cznie zrobionych wersji.

Chocia� yppsswd, ypchsh i ypchfn b�d� oczywi�cie dzia�a�.

8.2 Program serwera yps.

Aby ustawi� serwer NIS "yps" przeczytaj poprzedni paragraf. Ustawianie serwera "yps" jest podobne, _ale_ nie dok�adnie takie samo, wi�c uwa�aj jak b�dziesz stosowa� instrukcje dla "ypserv-a" do "yps" ! "yps" nie jest wspierany przez �adnego autora i zawiera par� dziur w bezpiecze�stwie. Na prawd� nie powiniene� go u�ywa� !

Oprogramowane do serwera NIS "yps" mo�na znale�� na:

  Adres               Katalog                           Nazwa pliku

  ftp.lysator.liu.se    /pub/NYS/servers            yps-0.21.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS    yps-0.21.tar.gz

8.3 Program rpc.ypxfrd

Program rpc.ypxfrd s�u�y do przyspieszania przesy�u bardzo du�ych map z serwera master na slave. Je�li serwer NIS slave otrzyma informacje, �e jest nowa mapa wystartuje program ypxfr, aby j� pobra�. ypxfr przeczyta zawarto�� mapy z serwera master przy pomocy funkcji yp_all(). Proces ten mo�e zaj�� do kilku minut je�li s� bardzo du�e mapy, kt�re musz� by� zapisane przez biblioteki bazy danych.

Program rpc.ypxfrd przyspiesza proces pobrania przez pozwolenie serwerowi slave na skopiowanie mapy serwera master zamiast tworzenia jej od nowa. rpc.ypxfrd u�ywa protoko�u do przesy�u plik�w na podstawie RPC, tak �e nie ma potrzby na tworzenie nowej mapy.

rpc.ypxfrd mo�e by� uruchomiony przez inetd. Ale poniewa� startuje bardzo wolno, powinien byc startowany przez ypserv. Musisz wystartowa� rpc.ypxfrd tyko na serwerze NIS master.

8.4 Program rpc.yppasswdd

Kiedy u�ytkownicy zmieniaj� swoje has�a, baza danych NIS z has�ami i przypuszczalnie inne bazy danych NIS, kt�re zale�� od bazy danych z has�ami, powinny by� uaktualnione. Program "rpc.yppasswdd" jest serwerem, kt�ry odpowiedzialny jest za zmiany hase� i uaktualnianie baz danych NIS. rpc.yppasswdd jest zintegrowany z ypserv. Nie potrzebujesz starszych oddzielnych yppasswd-0.9.tar.gz czy yppasswd-0.10.tar.gz i nie powiniene� ich ju� u�ywa�. rpc.yppasswdd z ypserv 1.3.2 ma pe�n� obs�ug� shadow. yppasswd jest teraz cz�ci� yp-tool-.2.2.tar.gz.

Musisz uruchomi� rpc.yppaswdd tylko na serwerze NIS master. Domy�lnie u�ytkownicy nie maj� prawa zmienia� swoich "pe�nych nazw" czy pow�oki. Mo�esz na to pozwoli� opcj� -e chfn czy -e chsh.

Je�li twoje pliki passwd i shadow nie s� umieszczone w innym katalogu ni� /etc, musisz doda� opcj� -D. Na przyk�ad je�li umie�ci�e� wszystkie pliki �r�d�owe w /etc/yp i chcesz udost�pni� swoim u�ytkownikom mo�liwo�� zmiany pow�oki, musisz uruchomi� rpc.yppasswdd z nast�puj�cymi parametrami:

   rpc.yppasswdd -D /etc/yp -e chsh

lub

   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh

Nic wi�cej do zrobienia ju� nie zosta�o. Musisz si� tylko upewni�, �e rpc.yppasswdd u�ywa tych samych plik�w co /var/yp/Makefile. B��dy b�d� logowane za pomoc� syslog.

9. Weryfikacja instalacji NIS/NYS.

Je�li wszystko jest w porz�dku (jak powinno by�), powiniene� m�c zwersyfikowa� instalacj� kilkoma prostymi poleceniami. Zak�adaj�c na przyk�ad, �e tw�j plik z hs�ami jest dostarczany prze NIS, polecenie

    % ypcat passwd

powinno pokaza� ci zawarto�� pliku z has�ami z NIS. Polecenie

    % ypmatch userid passwd

(gdzie userid jest login-em jakiego� u�ytkownika) powinno pokaza� ci pozycj� w pliku z has�ami dotycz�c� tego u�ytkownika. Programy "ypcat" i "ypmatch" powinny by� zawarte w dystrybucji NIS lub NYS.

Je�li u�ytkownik nie mo�e sie zalogowa�, uruchom nast�puj�cy program po stronie klienta:

#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>

int
main(int argc, char *argv[])
{
  struct passwd *pwd;

  if(argc != 2)
    {
      fprintf(stderr,"Stosowanie: getwpnam nazwa-uzytkownika\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("name.....: [%s]\n",pwd->pw_name);
      printf("password.: [%s]\n",pwd->pw_passwd);
      printf("user id..: [%d]\n", pwd->pw_uid);
      printf("group id.: [%d]\n",pwd->pw_gid);
      printf("gecos....: [%s]\n",pwd->pw_gecos);
      printf("directory: [%s]\n",pwd->pw_dir);
      printf("shell....: [%s]\n",pwd->pw_shell);
    }
  else
    fprintf(stderr,"Nie znaleziono uzytkownika \"%s\"!\n",argv[1]);

  exit(0);
}

Uruchomienie tego programu z u�ytkownikiem jako parametr, spowoduje wy�wietlenie wszystkich informacji jakie uzyska funkcja getpwnam dla tego u�ytkownika. Powinno ci to pokaza�, kt�ra pozycja jest niepoprawna. Najpopularniejszym problemem jest zapisanie "*" w polu has�a.

Razem z bibliotek� GNU C 2.1 (glibc 2.1) dostarczane jest narz�dzie getent. U�yj tego programu zamiast powy�szego na systemie z t� bibliotek�. Mo�esz spr�bowa�:

   getent passwd

lub

   getent passwd login

10. Popularne problemy i rozwi�zywanie ich.

  1. Biblioteki do 4.5.19 s� niepoprawne. NIS nie b�dzie z nimi wsp�pracowa�.
  2. Je�li uaktualnisz biblioteki z 4.5.19 na 4.5.24, to polecenie su nie dzia�a. Potrzebujesz tego polecenia ze Slackware 1.2.0. Przypadkowo tam mo�esz znale�� uaktulanione biblioteki.
  3. Kiedy serwer NIS si� wy��czy i potem uruchomi ponownie ypbind zaczyna wypisywa� co� takiego:
             yp_match: clnt_call:
                         RPC: Unable to receive; errno = Connection refused
    
    i u�ytkownicy zarejestrowani w bazie danych NIS nie mog� si� zalogowa�. Spr�buj zalogowa� si� jako root i zako�cz ypbind i uruchom go ponownie. Uaktualnienie do ypbind 3.3 lub nowszego tak�e powinno pom�c.
  4. Po uaktualnieniu libc do wersji nowszej ni� 5.4.20, narz�dzia YP nie b�d� dzia�a�. Potrzebujesz w takim przypadku yp-tools w wersji 1.2 lub nowszej dla libc >= 5.4.21 i glibc 2.x. Dla wcze�niejszych wersji libc potrzbujesz yp-clients 2.2. yp-tools 2.x powinny dzia�a� ze wszystkimi bibliotekami.
  5. W libc 5.4.21-35 yp_maplist jest popsute, potrzbujesz 5.4.36 lub nowszej wersji, albo niekt�re programy z YP jak np. ypwich b�d� przerywa� dzia�anie z b��dem Segmentation fault.
  6. libc 5 z tradycyjnym NIS nie obs�uguje shadow passwords przez NSI. Potrzebujesz libc5 + NYS lub glibc 2.x
  7. ypcat shadow nie pokazuje mapy shadow. Jest to poprawne - nazwa mapy shadow to shadow.byname a nie shadow.
  8. Solaris nie zawsze u�ywa uprzywilejowanych port�w. Wi�c staraj si� nie robi� nic z has�ami je�li masz klienta na Solarisie.

11. Cz�sto zadawane pytania.

Na wi�kszo�� twoich pyta� powiniene� ju� uzyska� odpowied�. Je�li wci�� masz jakie� pytania bez odpowiedzi to mo�esz wys�a� list na grup�

    comp.os.linux.networking

albo na kt�r�� z polskich grup

    pl.comp.security
    lub
    pl.comp.os.linux
    lub
    pl.comp.os.linux.siec(i)

Albo skontaktuj si� z kt�rym� z autor�w tego HOWTO.

# # # #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22