Opis systemów NIS(YP)/NYS/NIS+ na Linux-ie.
Autor:Thorsten Kukuk kukuk@suse.de
v1.0, 9 Marca 1999
WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll
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.
______________________________________________________________________
Spis treści
1. Wprowadzenie.
1.1 Nowe wersje tego dokumentu.
1.2 Zrzeczenie.
1.3 Komentarze i poprawki.
1.4 Podziękowania.
1.5 Od tłumacza.
2. Słowniczek i informacje ogólne.
2.1 Słowniczek terminów.
2.2 Trochę ogólnych informacji.
3. NIS , NYS czy NIS+ ?
3.1 libc 4/5 z tradycyjnym NIS czy NYS ?
3.2 NIS czy NIS+ ?
4. Jak to działa.
4.1 Jak działa NIS.
4.2 Jak działa NIS+.
5. Portmapper RPC
6. Czego potrzebujesz, aby ustawić NIS?
6.1 Sprawdź czy jesteś serwerem, serwerem slave czy klientem.
6.2 Oprogramowanie.
6.3 Demon ypbind.
6.4 Ustawianie kilenta NIS przy użyciu Tradycyjnego NIS-a.
6.5 Ustawianie klienta NIS używając NYS.
6.6 Ustawianie klienta NIS używając glibc 2.x
6.7 Plik nsswitch.conf
6.8 Shadow Passwords z NIS i PAM.
6.8.1 Linux
6.8.2 Solaris
6.8.3 PAM
7. Czego potrzebujesz do ustawienia NIS+?
7.1 Oprogramowanie.
7.2 Konfiguracja klienta NIS+.
7.3 NIS+, keylogin, login i PAM.
7.4 Plik nsswitch.conf.
8. Konfiguracja serwera NIS.
8.1 Program ypserv.
8.2 Program serwera yps.
8.3 Program rpc.ypxfrd
8.4 Program rpc.yppasswdd
9. Weryfikacja instalacji NIS/NYS.
10. Popularne problemy i rozwiÄ…zywanie ich.
11. Często zadawane pytania.
______________________________________________________________________
11.. WWpprroowwaaddzzeenniiee..
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,
Mitchum DSouza
Erwin Embsen
Peter Eriksson
którym powinniśmy podziękować za napisanie pierwszych wersji tego
dokumentu.
11..11.. NNoowwee wweerrssjjee tteeggoo ddookkuummeennttuu..
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.
11..22.. ZZrrzzeecczzeenniiee..
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.
11..33.. KKoommeennttaarrzzee ii ppoopprraawwkkii..
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ę _n_i_e 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.
11..44.. PPooddzziięękkoowwaanniiaa..
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
Markus Rex
Miquel van Smoorenburg
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.
11..55.. OOdd ttłłuummaacczzaa..
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.
22.. SSłłoowwnniicczzeekk ii iinnffoorrmmaaccjjee ooggóóllnnee..
22..11.. SSłłoowwnniicczzeekk tteerrmmiinnóóww..
W dokumencie tym występuje wiele akronimów. Oto te najważniejsze i
krótkie wyjaśnienie:
DDBBMM
DataBase Management - biblioteka funkcji, które obsługują pary z
kluczem (-key-content) w bazie danych.
DDLLLL
Dynamically Linked Library - biblioteka dołączana do
wykonywalnego programu podczas jego działania.
ddoommaaiinnnnaammee
"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).
FFTTPP
File Transfer Protocol - protokół używany do przenoszenia plików
pomiędzy komputerami.
lliibbnnssll
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+.
lliibbssoocckkeett
Socket services library - biblioteka odwołań obsługi gniazdek
(socket, bind, listen itp.) na unix-ach SVR4.
NNIISS
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".
NNIISS++
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.
NNYYSS
Jest to nazwa projektu, który powstał z NIS+, YP i Switch i
zarzÄ…dzany jest przez Petera Erikssona .
Między innymi zawiera powtórną implementację kodu NIS-a (=YP),
która używa funkcjonalności Name Service Switch biblioteki NYS.
NNSSSS
Name Service Switch. Plik /etc/nsswitch.conf określa kolejność,
w jakiej sprawdza się pewne żądane informacje.
RRPPCC
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.
YYPP Yellow Pages(TM) - zarejestrowany znak towarowy w UK firmy
British Telecom plc.
TTCCPP--IIPP
Transmission Control Protocol/Internet Protocol. To protokół
komunikacji danych najczęściej używany na maszynach unix-owych.
22..22.. TTrroocchhęę ooggóóllnnyycchh iinnffoorrmmaaccjjii..
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:
· login/hasÅ‚a/katalogi domowe (/etc/passwd)
· informacje o grupach (/etc/group)
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.
33.. NNIISS ,, NNYYSS cczzyy NNIISS++ ??
33..11.. lliibbcc 44//55 zz ttrraaddyyccyyjjnnyymm NNIISS cczzyy NNYYSS ??
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.
33..22.. NNIISS cczzyy NNIISS++ ??
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.
44.. JJaakk ttoo ddzziiaałłaa..
44..11.. JJaakk ddzziiaałłaa NNIISS..
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.
44..22.. JJaakk ddzziiaałłaa NNIISS++..
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+.
55.. PPoorrttmmaappppeerr RRPPCC
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 !
66.. CCzzeeggoo ppoottrrzzeebbuujjeesszz,, aabbyy uussttaawwiićć NNIISS??
66..11.. SSpprraawwddźź cczzyy jjeesstteeśś sseerrwweerreemm,, sseerrwweerreemm ssllaavvee cczzyy kklliieenntteemm..
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.
66..22.. OOpprrooggrraammoowwaanniiee..
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.
66..33.. DDeemmoonn yyppbbiinndd..
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:
· Upewnij siÄ™, że masz ustawionÄ… nazwÄ™ domeny YP. JeÅ›li nie, to wydaj
polecenie:
/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łamywac
zom 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.
· uruchom "/usr/bin/portmap" jeÅ›li nie jest jeszcze uruchomiony.
· stwórz katalog "/var/yp" jeÅ›li go nie ma.
· uruchom "/usr/bin/ypbind"
· użyj polecenia "rpcinfo -p localhost", aby sprawdzić czy ypbind
zarejestrował swój serwis u portmapper-a. Coś takiego powinno się
pojawić na ekranie:
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.
· możesz także uruchomić "rpcinfo -u localhost ypbind". Polecenie to
powinno dać mniej więcej taki wynik:
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ł.
66..44.. UUssttaawwiiaanniiee kkiilleennttaa NNIISS pprrzzyy uużżyycciiuu TTrraaddyyccyyjjnneeggoo NNIISS--aa..
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".
66..55.. UUssttaawwiiaanniiee kklliieennttaa NNIISS uużżyywwaajjąącc NNYYSS..
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".
66..66.. UUssttaawwiiaanniiee kklliieennttaa NNIISS uużżyywwaajjąącc gglliibbcc 22..xx
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.
66..77.. PPlliikk nnsssswwiittcchh..ccoonnff
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.
66..88.. SShhaaddooww PPaasssswwoorrddss zz NNIISS ii PPAAMM..
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.
66..88..11.. LLiinnuuxx
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.
66..88..22.. SSoollaarriiss
Solaris nie obsługuje takiej kombinacji w ogóle.
66..88..33.. PPAAMM
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.
77.. CCzzeeggoo ppoottrrzzeebbuujjeesszz ddoo uussttaawwiieenniiaa NNIISS++??
77..11.. OOpprrooggrraammoowwaanniiee..
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.
77..22.. KKoonnffiigguurraaccjjaa kklliieennttaa NNIISS++..
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
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.
77..33.. NNIISS++,, kkeeyyllooggiinn,, llooggiinn ii PPAAMM..
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
77..44.. PPlliikk nnsssswwiittcchh..ccoonnff..
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
88.. KKoonnffiigguurraaccjjaa sseerrwweerraa NNIISS..
88..11.. PPrrooggrraamm yyppsseerrvv..
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
#include
#include
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
1100.. PPooppuullaarrnnee pprroobblleemmyy ii rroozzwwiiÄ…Ä…zzyywwaanniiee iicchh..
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ę zalo
gować. 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 _S_e_g_m_e_n_t_a_t_i_o_n _f_a_u_l_t.
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 _s_h_a_d_o_w_._b_y_n_a_m_e a nie _s_h_a_d_o_w.
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.
1111.. CCzzęęssttoo zzaaddaawwaannee ppyyttaanniiaa..
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.
Wyszukiwarka
Podobne podstrony:
NIS HOWTO pl 1 (2)
NIS HOWTO pl 8 (2)
nis howto pl 6
NIS HOWTO pl 2 (2)
NIS HOWTO pl 5 (2)
NIS HOWTO pl (2)
NIS HOWTO pl 11 (2)
NIS HOWTO pl 4 (2)
NIS HOWTO pl 7 (2)
NIS HOWTO pl 10 (2)
NIS HOWTO pl (3)
NIS HOWTO pl 3 (2)
NIS HOWTO pl 9 (2)
bootdisk howto pl 8
PPP HOWTO pl 6 (2)
cdrom howto pl 1
jtz howto pl 5
Keystroke HOWTO pl (2)
PostgreSQL HOWTO pl 14
więcej podobnych podstron