![]() |
|
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.
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.
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.
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.
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.
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;
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.
W dokumencie tym wyst�puje wiele akronim�w. Oto te najwa�niejsze i kr�tkie wyja�nienie:
DataBase Management - biblioteka funkcji, kt�re obs�uguj� pary z kluczem (-key-content) w bazie danych.
Dynamically Linked Library - biblioteka do��czana do wykonywalnego programu podczas jego dzia�ania.
"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).
File Transfer Protocol - protok� u�ywany do przenoszenia plik�w pomi�dzy komputerami.
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+.
Socket services library - biblioteka odwo�a� obs�ugi gniazdek (socket, bind, listen itp.) na unix-ach SVR4.
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".
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.
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.
Name Service Switch. Plik /etc/nsswitch.conf okre�la kolejno��, w jakiej sprawdza si� pewne ��dane informacje.
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.
Yellow Pages(TM) - zarejestrowany znak towarowy w UK firmy British Telecom plc.
Transmission Control Protocol/Internet Protocol. To protok� komunikacji danych najcz�ciej u�ywany na maszynach unix-owych.
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.
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.
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.
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.
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+.
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 !
Aby odpowiedzie� na to pytanie musisz rozwa�y� dwa przypadki:
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.
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.
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:
/bin/domainname domena.nis
gdzie domena.nis
powinno by� jakim� �a�cuchem zwykle _NIE_
zwi�zanym z DNS-em twojej maszyny! Powodem tego jest, to �e
zewn�trznym w�amywaczom jest wtedy troch� trudniej zdoby� baz�
danych z has�ami z twojego serwera NIS. Je�li nie wiesz jaka jest
nazwa domeny NIS w twojej sieci, to zapytaj swojego administratora.
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
lub
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 758 ypbind
100007 1 udp 758 ypbind
100007 2 tcp 761 ypbind
100007 1 tcp 761 ypbind
Zale�nie od wersji ypbind jakiej u�ywasz.
program 100007 version 2 ready and waiting
lub
program 100007 version 1 ready and waiting
program 100007 version 2 ready and waiting
Wynik ten zale�y od wersji ypbind, kt�r� zainstalowa�e�. Wa�n�
wiadomo�ci� jest tutaj tylko "version 2".
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�.
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".
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".
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.
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.
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.
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 nie obs�uguje takiej kombinacji w og�le.
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.
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.
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.
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
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
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�.
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
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.
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.
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
yp_match: clnt_call: RPC: Unable to receive; errno = Connection refusedi 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.
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