Egyre t�bb linuxos g�pet telep�tenek h�l�zat r�szek�nt. A h�l�zati adminisztr�ci� egyszer�s�t�s�hez, a legt�bb h�l�zatban (legink�bb a Sun alap� h�l�zatokban) H�l�zati Inform�ci�s Szolg�ltat�st (Network Information Service, tov�bbiakban NIS) futtatnak. A Linux rendszerek teljes m�rt�kben fel tudj�k haszn�lni a m�r megl�v� NIS szolg�ltat�sokat, �s �k maguk is k�pesek NIS szolg�ltat�sokat ny�jtani. Mindemellett k�pesek teljes �rt�k� NIS+ kliensk�nt viselkedni, ez a t�mogat�s egyel�re b�ta �llapotban van.
Ez a dokument�ci� megpr�b�l v�laszt adni a NIS(YP) �s NIS+ be�ll�t�s�val kapcsolatos k�rd�sekre, amik a Linux rendszereden felmer�lhetnek. Ne felejtsd el elolvasni "Az RPC Portmapper (T�voli Elj�r�sh�v�s kapuhozz�rendel�)" fejezetet!
A NIS-HOGYANt szerkeszti, �s karbantartja:
Thorsten Kukuk, <[email protected]> |
Az els� NIS-HOGYAN forr�sa az al�bbi emberekt�l sz�rmazik, akiknek eme dokument�ci� els� verzi�it k�sz�nhetj�k:
Andrea Dell'Amico <[email protected]> Mitchum DSouza <[email protected]> Erwin Embsen <[email protected]> Peter Eriksson <[email protected]> |
Mindig megtal�lhatod a legfrissebb v�ltozatot, megn�zheted a World Wide Web haszn�lat�val a http://www.linux-nis.org/nis-howto/HOWTO/NIS-HOWTO.html honlapot.
A dokument�ci� �j verzi�i t�bb linuxos WWW �s FTP helyre felker�lnek, bele�rtve az LDP honlapot is.
A dokument�ci� ford�t�saira mutat� hivatkoz�sokat a http://www.linux-nis.org/nis-howto/ honlapon tal�lod.
Hab�r ezt a dokument�ci�t a legjobb tud�som szerint �ll�tottam �ssze, lehet, s�t, szinte biztos, hogy tartalmaz hib�kat. K�rlek, olvass el minden OLVASSEL (README) f�jlt, ami ebben a dokument�ci�ban le�rtakhoz kapcsol�dik, hogy m�g r�szletesebb, �s pontosabb inform�ci�kat szerezhess. Megpr�b�lom amennyire csak lehet hib�tlanul tartani ezt a dokumentumot.
Ha k�rd�sed, vagy megjegyz�sed van ezzel a dokumentummal kapcsolatban, k�rlek ne habozz levelet k�ldeni Thorsten Kukuknak a [email protected] e-mail c�mre. �r�mmel fogadok b�rmilyen �tletet vagy kritik�t. Ha hib�t tal�ln�l e dokument�ci�ban, k�rlek �rtes�ts, hogy ki tudjam jav�tani a k�vetkez� v�ltozatban. K�sz�n�m.
K�rlek ne k�ldj nekem levelet a Linux disztrib�ci�d bels� probl�m�ir�l! Nem ismerem mindegyik Linux disztrib�ci�t, de megpr�b�lom hozz�adni az �sszes megold�st, amit k�ldesz.
Szeretn�nk megk�sz�nni mindenkinek, aki k�zrem�k�d�tt (k�zvetlen�l, vagy k�zvetve) eme dokumentum l�trehoz�s�ban. ABC sorrendben:
Byron A Jeff <[email protected]> Markus Rex <[email protected]> Miquel van Smoorenburg <[email protected]> Dan York <[email protected]> Christoffer Bromberg <[email protected]> |
Theo de Raadt felel�s az eredeti yp-kliensek k�dj��rt. Swen Thuemmler portolta az yp-kliensek k�dj�t Linuxra, illetve az yp-rutinokat libc- be (szint�n Theo munk�j�ra alapozva). Thorsten Kukuk �rta a NIS(YP) �s NIS+ rutinokat GNU libc 2.x-re a semmib�l.
A magyar ford�t�st B�bos Bal�zs k�sz�tette (?). A dokumentumot V�lgyi P�ter friss�tette (2003.02.28). A lektor�l�st Szil�gyi Szil�rd v�gezte el (2003.09.04). Utolj�ra Daczi L�szl� friss�tette (2003.10.14). A dokumentum legfrissebb v�ltozata megtal�lhat� a Magyar Linux Dokument�ci�s Projekt honlapj�n.
Ebben a dokumentumban nagyon sok szakkifejez�s tal�lhat�. �me a legfontosabb szakkifejez�sek r�vid magyar�zata:
DataBase Management (adatb�zis-menedzsel�s), egy k�nyvt�rnyi f�ggv�ny, amely kulcs-tartalom p�rokat kezelnek egy adatb�zisban.
Dynamically Linked Library (dinamikusan l�ncolt programk�nyvt�r), futtathat� programhoz fut�sid�ben hozz�kapcsol�d� programk�nyvt�r.
A domain name (domain n�v) egy "kulcs", amit a NIS kliens arra haszn�l, hogy megfelel� NIS szervert tal�ljon, ami ezt a domain n�v kulcsot szolg�ltatja. Itt jegyezn�m meg, hogy ennek �ltal�ban semmi k�ze sincs a g�p(ek) DNS "domain nev�hez" (g�p n�v).
File Transfer Protocol (f�jl �tviteli protokoll), f�jlok k�t sz�m�t�g�p k�z�tti �tvitel�re szolg�l� protokoll.
Name services library (n�v szolg�ltat� k�nyvt�r), SVR4 Unixok n�vszolg�ltat�s-h�v�sainak (getpwnam, getservbyname, stb...) k�nyvt�ra. A GNU libc haszn�lja ezt a NIS(YP) �s NIS+ f�ggv�nyekhez.
Socket services library (foglalat szolg�ltat�s k�nyvt�r), SVR4 Unixok socket szolg�ltat�s-h�v�sainak (socket, bind, listen, stb.) programk�nyvt�ra.
Network Information Service (h�l�zati inform�ci�s szolg�ltat�s), a h�l�zat g�pei sz�m�ra olyan inform�ci�t k�n�l� szolg�ltat�s, amit a teljes h�l�zatnak ismernie kell. A Linux �ltal�nos libc k�nyvt�ra t�mogat�st ny�jt a NIS haszn�lat�hoz, amire a k�vetkez�kben "hagyom�nyos NIS" n�ven fogunk hivatkozni.
Network Information Service (Plus :-) (h�l�zati inform�ci�s szolg�ltat�s plusz), alapvet�en NIS szteroidokkal. A NIS+ szolg�ltat�st a Sun Microsystems Inc. tervezte a NIS-t lecser�lend�, hogy nagy telep�t�sek eset�n biztons�gosabb, �s jobban kezelhet� legyen.
Ez egy projekt neve, a NIS+-t, YP-t �s a Switch (kapcsol�) r�vid�t�se, Peter Eriksson >[email protected]< vezeti. T�bbek k�z�tt a NYS k�nyvt�r Name Services Switch (n�v szolg�ltat�s kapcsol�) funkcionalit�s�t haszn�l� NIS (= YP) k�d teljes �jra�r�s�t foglalja mag�ba.
Name Service Switch (n�v szolg�ltat�s kapcsol�), Az /etc/nsswitch.conf f�jl hat�rozza meg a k�l�nb�z� k�rt inform�ci�-darabok fellapoz�s�nak sorrendj�t.
Remote Procedure Call (t�voli elj�r�sh�v�s). Az RPC rutinok lehet�v� teszik C programok sz�m�ra, hogy h�l�zaton kereszt�l m�s g�peken elj�r�sokat h�vjanak meg. Amikor RPC-r�l besz�l�nk, legt�bbsz�r a Sun RPC v�ltozat�ra gondolunk.
Yellow Pages(tm) (s�rga oldalak(tm)), A United Kingdom of British Telecom plc bejegyzett v�djegye.
Transmission Control Protocol/Internet Protocol (�tvitelir�ny�t� protokoll/internet protokoll), Unix g�peken leggyakrabban ezt az adatkommunik�ci�s protokollt haszn�lj�k.
A k�vetkez� 4 sor id�zet a Sun(tm) Rendszer- �s h�l�zati adminisztr�ci� k�zik�nyv�b�l:
"A NIS kor�bban Sun Yellow Pages (YP) n�ven volt ismert, de a Yellow Pages(tm) az United Kingdom of British Telecom plc bejegyzett v�djegye, �s tilos a beleegyez�s�k n�lk�l felhaszn�lni." |
A NIS a H�l�zati Inform�ci�s Szolg�ltat�s r�vid�t�se. A c�lja az, hogy a h�l�zat g�pei sz�m�ra olyan inform�ci�t k�n�ljon, amit a teljes h�l�zatnak ismernie kell. A NIS �ltal szolg�ltatott inform�ci�k:
felhaszn�l�i nevek/jelszavak/home k�nyvt�rak (/etc/passwd)
csoport inform�ci� (/etc/group)
Ha p�ld�ul a jelszavad bejegyz�se szerepel a NIS jelsz� adatb�zisban, be tudsz jelentkezni a h�l�zat minden olyan g�p�re, amin fut a NIS kliens program.
A Sun a Sun Microsystems Inc. bejegyzett v�djegye, amit a SunSoft Inc. sz�m�ra licencelt.
A v�laszt�s a "hagyom�nyos NIS" �s a NYS k�nyvt�r NIS k�dja k�z�tt olyan, mint a v�laszt�s a lustas�g �s fejletts�g, vagy a rugalmass�g �s a kaland im�data k�z�tt.
A "hagyom�nyos NIS" k�d az �ltal�nos C k�nyvt�rban tal�lhat� m�r j� ideje, n�ha a kor�t�l �s a rugalmatlans�g�t�l szenved.
A NYS k�nyvt�r NIS k�dj�nak haszn�lat�hoz �jra kell ford�tanod a libc k�nyvt�rat, �s bele kell ford�tani a NYS k�dot (vagy legal�bbis szerezned kell valakit�l, aki m�r elk�sz�tette egy el�ford�tott libc v�ltozatot).
A m�sik k�l�nbs�g, hogy a hagyom�nyos NIS k�d tartalmaz n�mi NIS Netgroups (NIS H�l�zati csoportok) t�mogat�st, szemben a NYS k�ddal. M�sfel�l a NYS k�d lehet�v� teszi, hogy �rny�k jelszavakat (Shadow Password) haszn�lj teljesen �tl�tsz� m�don. A "hagyom�nyos NIS" k�d nem enged�lyezi NIS feletti �rny�k jelszavak haszn�lat�t.
Ezt mind el is felejtheted, ha az �j GNU C k�nyvt�r 2.x-et (azaz libc6) haszn�lsz. Ebben val�di NSS (n�v kapcsol�s szolg�ltat�s) t�mogat�s van, ami nagyon rugalmass� teszi, valamint a k�vetkez� NIS/NIS+ t�rk�pekre is tartalmaz t�mogat�st: aliases, ethers, group, hosts, netgroups, networks, protocols, publickey, passwd, rpc, services �s shadow. A GNU C k�nyvt�rnak nincs probl�m�ja a NIS feletti �rny�k jelszavakkal.
A NIS �s NIS+ k�z�tti v�laszt�s nagyon k�nny� - haszn�lj NIS-t, ha nincs sz�ks�ged a NIS+-ra, vagy ha komoly biztons�gi sz�ks�gleteid vannak. NIS+-t sokkal k�r�lm�nyesebb adminisztr�lni (nagyon k�nny� kezelni a kliens oldalr�l, de a szerver oldal�n sz�rny�). M�sik probl�ma, hogy a NIS+ Linux alatti t�mogat�sa sok hib�t tartalmaz, �s a fejleszt�se is le�llt.
Egy h�l�zaton bel�l legal�bb egy, NIS szerverk�nt m�k�d� g�pnek kell lennie. Lehet t�bb NIS szerver is �gy, hogy mindegyik m�s NIS "k�rzetet" szolg�l ki - vagy lehetnek egy�ttm�k�d� NIS szervereid is, ahol van egy mester NIS szerver, �s a t�bbi �gynevezett szolga NIS szerver (egy adott NIS "k�rzetedre" ez �gy is van) - vagy lehet vegyesen is...
A szolga szervereknek a NIS adatb�zisr�l csak egy m�solatuk van, �s ezeket a m�solatokat a mester NIS szervert�l kapj�k, amikor abban v�ltoz�s t�rt�nt. A h�l�zatod g�peinek sz�m�t�l �s a h�l�zatod megb�zhat�s�g�t�l f�gg�en v�laszthatsz, hogy egy vagy t�bb szolga szervert telep�tesz. Amikor egy NIS szerver lekapcsol�dik, vagy t�l lassan v�laszol a k�r�sekre, a NIS kliens, ami ehhez a szerverhez kapcsol�dik, megpr�b�l egy m�k�d� vagy gyorsabb szervert tal�lni.
A NIS adatb�zisok �gynevezett DBM form�tumban t�rol�dnak, amik ASCII adatb�zisb�l konvert�lhat�k. P�ld�ul az /etc/passwd �s az /etc/group f�jlok k�zvetlen�l �talak�that�k DBM form�tumba ASCII-b�l-DBM-be �talak�t� szoftverrel ("makedbm", amit a szerver szoftver�hez csatolnak). A mester NIS szerveren egyar�nt kell ASCII �s DBM adatb�zisnak lennie.
A szolga szerverek minden a NIS t�rk�pben t�rt�nt v�ltoz�sr�l �rtes�lnek (az "yppush" program seg�ts�g�vel), �s automatikusan megkapj�k az adatb�zisok szinkroniz�l�s�hoz sz�ks�ges v�ltoz�sokat. A NIS klienseknek nem kell ezt megtenni�k, hiszen �k folyamatosan a NIS szerverrel kommunik�lnak, hogy a szerverek DBM adatb�zis�b�l megszerezz�k a sz�ks�ges inform�ci�kat.
A r�gi ypbind v�ltozatok �zenetsz�r�ssal keresnek fut� NIS szervert. Ez nem biztons�gos, mert b�rki telep�thet NIS szervert, �s v�laszolhat az �zenetsz�r�ssal �rkez� �zenetekre. Az ypbind �jabb v�ltozatai (ypbind-3.3 vagy ypbind-mt) k�pesek a szervert konfigur�ci�s f�jlb�l olvasni - teh�t nincs sz�ks�g �zenetsz�r�sra.
A NIS+ a Sun h�l�zati inform�ci�s n�vszolg�ltat�s�nak �j v�ltozata. A legnagyobb k�l�nbs�g a NIS �s NIS+ k�z�tt az, hogy a NIS+ t�mogatja az adattitkos�t�st �s a biztons�gos RPC hiteles�t�st.
A NIS+ n�vmodellje fa-strukt�r�n alapul. Minden lev�l a f�ban egy NIS+ objektumnak felel meg. Az objektumok hat t�pusa: k�nyvt�r, bejegyz�s, csoport, hivatkoz�s, t�bla �s priv�t.
A NIS+ n�vter�let gy�ker�t alkot� NIS+ k�nyvt�rat gy�k�r k�nyvt�rnak h�vj�k. K�t k�l�nleges NIS+ k�nyvt�r l�tezik: org_dir �s groups_dir. Az org_dir (org=organization: szervezet, dir=directory: k�nyvt�r) k�nyvt�r tartalmazza az �sszes adminisztr�ci�s t�bl�t, olyanokat mint a passwd (passwd=password: jelsz�), hosts (hosts: g�pnevek) �s a mail_aliases (mail aliases: lev�l �lnevek). A groups_dir (groups: csoportok) k�nyvt�r tartalmazza a hozz�f�r�s vez�rl�s�re szolg�l� NIS+ csoport objektumokat. Az org_dir, groups_dir �s a sz�l� k�nyvt�rak egy�ttes�t NIS+ k�rzetnek nevezz�k (NIS+ domain).
A lentebb eml�t�sre ker�l� programok futtat�s�hoz el kell ind�tanod az /sbin/portmap programot. N�h�ny Linux disztrib�ci� m�r tartalmazza a k�dot e d�mon futtat�s�hoz az /sbin/init.d/ vagy /etc/rc.d/ k�nyvt�rakban. Csak annyit kell tenned, hogy aktiv�lod �s �jraind�tod a Linux g�pedet. Olvasd el a Linux disztrib�ci�d dokument�ci�j�ban ennek menet�t.
Az RPC portmapper (portmap(8) egy RPC program sz�mokat TCP/IP (vagy UDP/IP) protokoll port sz�mokk� alak�t� szerver. Ennek futnia kell ahhoz, hogy RPC h�v�sokat (mint amilyeneket a NIS/NIS+ kliens szoftver is ny�jt) adhass RPC szervereknek (mint amilyen a NIS vagy NIS+ szerver) azon a g�pen. Amikor egy RPC szerver elindul, megmondja a portmap-nek hogy melyik porton hallgat, �s milyen RPC program sz�mok kiszolg�l�s�ra van felk�sz�tve. Amikor egy kliens RPC h�v�st szeretne tenni egy adott programsz�mra, el�sz�r kapcsolatot teremt a szerver portmap-j�vel, hogy meg�llap�tsa, melyik portc�mre k�ldje az RPC csomagokat.
Szabv�nyosan, az �ltal�nos RPC szervert az inetd(8) ind�tja, �gy a portmap-nek m�r az inetd indul�sa el�tt el kell indulnia.
A biztons�gos RPC-hez a portmapper-nek sz�ks�ge van az id� szolg�ltat�sra (Time service). Gy�z�dj meg arr�l, hogy enged�lyezted az id� szolg�ltat�st az /etc/inetd.conf-ban minden g�pre:
# # Az id� szolg�ltat�s �ra egyeztet�sre haszn�latos. # time stream tcp nowait root internal time dgram udp wait root internal |
FONTOS: Ne feledkezz el a konfigur�ci�s f�jlok v�ltoztat�sa ut�n az inetd �jraind�t�s�r�l!
Ennek eld�nt�s�hez k�t esetet kell megvizsg�lni:
A g�ped egy m�r NIS szervereket tartalmaz� h�l�zat r�sze lesz.
M�g nincs NIS szervered a h�l�zatban.
Az els� esetben csak a kliens programokra van sz�ks�ged (ypbind, ypwhich, ypcat, yppoll, ypmatch). A legfontosabb program az ypbind. Ennek a programnak �lland�an futnia kell, ami azt jelenti, hogy mindig szerepelnie kell a folyamatok list�j�ban (list of processes). Ez egy d�mon folyamat, �s a rendszerind�t� f�jlokb�l kell ind�tani (p�ld�ul /etc/init.d/nis, /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, /etc/rc.local). Amint fut az ypbind, a g�ped m�ris NIS klienss� v�lik.
A m�sodik esetben, ha m�g nincs NIS szervered, akkor a NIS szerver programokra is sz�ks�ged lesz (�ltal�ban ypserv-nek h�vj�k). A "NIS szerver be�ll�t�sa" fejezet mutatja be, hogy hogyan kell a Linux g�pedre NIS szervert telep�teni, haszn�lva az ypserv d�mont.
A NIS kliens �s szerver szoftver sikeres leford�t�s�hoz minden sz�ks�ges rendszerh�v�s megtal�lhat� az "/usr/lib/libc.a" (v.4.4.2 �s �jabb) rendszerk�nyvt�rban, vagy a "/lib/libc.so.x" oszott k�nyvt�rban. A GNU C k�nyvt�r 2-h�z (glibc 2.x), a /lib/libnsl.so.1 is sz�ks�ges.
N�h�nyan jelezt�k, hogy a NIS csak 4.5.21 �s �jabb "/usr/lib/libc.a" v�ltozatokkal m�k�dik, teh�t ha biztons�gosan szeretn�d haszn�lni, ne haszn�lj r�gebbi libc-ket. A NIS kliens szoftver beszerezhet� az al�bbi helyekr�l:
Hely K�nyvt�r F�jl neve ftp.kernel.org /pub/linux/utils/net/NIS yp-tools-2.8.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS ypbind-mt-1.13.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 |
Amint megszerezted a szoftvert, k�rlek, k�vesd a szoftverrel kapott utas�t�sokat. Az yp-clients-2.2 libc4-el �s libc5-el haszn�lhat� 5.4.20-ig. A libc5.4.21-hez �s glibc 2.x-hez yp-tools-1.4.1-re vagy �jabbra lesz sz�ks�ged. Az �j yp-tools-2.4-nek minden Linux libc-vel m�k�dnie kell. Mivel volt egy hiba a NIS k�dban, ne haszn�lj libc-5.4.21-5.4.35 k�z�tti v�ltozatot. Haszn�lj ink�bb 5.4.36-os vagy frissebb libc k�nyvt�rat helyette, vagy a a legt�bb YP program nem fog m�k�dni. Az ypbind 3.3 is m�k�dni fog minden k�nyvt�rral. Ha gcc-2.8.x-et vagy �jabbat haszn�lsz, egcs-t vagy glibc-2.x-t, hozz� kell adnod az ypbind-3.3-glibc5.diff foltot (patch) az ypbind-3.3-hoz. Ha lehets�ges ne haszn�ld az ypbind 3.3-as verzi�j�t, biztons�gi hi�nyoss�gokb�l kifoly�lag. Az ypbind-mt egy �j, t�bbsz�l� d�mon. 2.2-es Linux kernel kell hozz�, �s 2.1-es vagy �jabb glibc.
Miut�n sikeresen leford�tottad a szoftvert, k�szen �llsz a telep�t�s�re. Az ypbind d�mon sz�m�ra megfelel� hely az /usr/sbin k�nyvt�r. N�h�nyan mondhatn�k, hogy nincs sz�ks�ged ypbind-re NYS-t tartalmaz� rendszerben. T�vednek. ypwhich-re �s ypcat-ra mindig sz�ks�g van.
Ezt term�szetesen root felhaszn�l�k�nt kell elv�gezned. A t�bbi bin�rist (ypwhich, ypcat, yppasswd, yppoll, ypmatch) olyan k�nyvt�rba kell tenni, ami minden felhaszn�l� sz�m�ra el�rhet�, �ltal�ban az /usr/bin k�nyvt�rba.
�jabb ypbind v�ltozatok /etc/yp.conf nev� konfigur�ci�s f�jlal rendelkeznek. Bedr�tozhatsz ide egy NIS szervert - tov�bbi inform�ci�k�rt n�zd meg az ypbind(8) k�zik�nyv oldalt. Erre az f�jlra NYS eset�n is sz�ks�ged van. P�ld�ul:
ypserver 10.10.0.1 ypserver 10.0.100.8 ypserver 10.3.1.1 |
Ha a rendszer fel tudja oldani a g�pneveket NIS n�l�l, haszn�lhatsz g�pnevet, k�l�nben IP c�met kell haszn�lnod. Az ypbind-3.3-ban van egy hiba, �s csak a legutols� bejegyz�st haszn�lja (a p�ld�ban ypserver 10.3.1.1). Minden m�s bejegyz�st figyelmen k�v�l hagy. Az ypbind-mt helyesen kezeli ezt, �s azt haszn�lja, amelyik el�sz�r v�laszol.
J� �tlet kipr�b�lni az ypbind-et, miel�tt beleteszed az ind�t�f�jlokba. Az ypbind kipr�b�l�s�hoz a k�vetkez�ket kell tenned:
Gy�z�dj meg r�la, hogy van YP-k�rzet n�v be�ll�t�sod. Ha ez nincs be�ll�tva, akkor add ki a k�vetkez� utas�t�st:
/bin/domainname nis.domain |
Ind�tsd el az "/sbin/portmap" programot, ha m�g nem fut.
K�sz�ts egy /var/yp nev� k�nyvt�rat, ha m�g nem l�tezik.
Ind�tsd el az /usr/sbin/ypbind programot.
Ellen�rizd a rpcinfo -p localhost utas�t�ssal, hogy az ypbind be tudta-e regisztr�lni a szolg�ltat�s�t a portmapper-be. A kimenetnek ilyesminek kell lennie:
program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100007 2 udp 637 ypbind 100007 2 tcp 639 ypbind |
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 |
Elind�thatod az rpcinfo -u localhost ypbind programot is. Ez az utas�t�s valami ehhez hasonl�t fog eredm�nyezni:
program 100007 version 2 ready and waiting |
program 100007 version 1 ready and waiting program 100007 version 2 ready and waiting |
Ett�l a pontt�l kezdve haszn�lhatod az olyan NIS kliens programokat, mint p�ld�ul az ypcat, stb... P�ld�ul az ypcat passwd.byname visszaadja neked a teljes NIS jelsz�-adatb�zist.
FONTOS: Ha kihagytad a tesztel� elj�r�st, gy�z�dj meg r�la, hogy be�ll�tottad a k�rzet nev�t, �s l�trehoztad a k�vetkez� k�nyvt�rat:
/var/yp |
Ennek a k�nyvt�rnak l�teznie KELL az ypbind sikeres elindul�s�hoz.
A k�rzetn�v helyess�g�nek ellen�rz�s�re haszn�ld a /bin/ypdomainname programot az yp-tools-2.2-b�l. Ez az yp_get_default_domain() f�ggv�nyt haszn�lja, ami sokkal szigor�bb. Nem enged�lyezi p�ld�ul a "(semmi)" k�rzetnevet, ami az alap�rtelmezett Linux alatt, �s sok probl�ma okoz�ja.
Ha a teszt m�k�dik, most �rdemes megv�ltoztatnod a d�monokat ind�t� f�jlokat, hogy az ypbind a rendszer indul�sakor indulhasson, �s a rendszered NIS kliensk�nt viselkedjen. Gy�z�dj meg r�la, hogy a k�rzetn�v az ypbind ind�t�sa el�tt be�ll�t�sra ker�l!
Nos, ennyi. Ind�tsd �jra a g�ped, �s n�zd meg a rendszer�zeneteket, hogy az ypbind elindult-e.
G�pn�v felold�shoz be kell �ll�tanod (vagy hozz� kell adnod) a "nis"-t a felold�si sorrend sor�hoz az /etc/host.conf f�jlban. N�zd meg a "resolv+.8" k�zik�nyv oldalt a r�szletes le�r�s�rt.
Add hozz� a NIS kliens az /etc/passwd f�jlhoz a k�vetkez� sort:
+:::::: |
Haszn�lhatod a + �s a - karaktereket felhaszn�l� hozz�ad�s�hoz/kiz�r�s�hoz vagy megv�ltoztat�s�hoz. Ha a vend�g felhaszn�l�t szeretn�d kiz�rni, csak add hozz� az /etc/passwd f�jlhoz a "-guest" kapcsol�t. M�s parancs�rtelmez�t (p�ld�ul ksh) szeretn�l haszn�ltatni a "linux" felhaszn�l�val? Nem probl�ma, egyszer�en add hozz� a "+linux::::::/bin/ksh" (id�z�jelek n�lk�l) sort az /etc/passwd f�jlhoz. Azokat a mez�ket, amelyeket nem akarsz haszn�lni, �resen kell hagyni. Haszn�lhatod a Netgroups-t a felhaszn�l� szab�lyoz�shoz.
P�ld�ul ahhoz hogy csak miquels, dth �s ed, valamint a sysadmin h�l�zati csopot sz�m�ra enged�lyezd a bejelentkez�s-hozz�f�r�st, �s a t�bbiek sz�m�ra megmaradjon az azonos�t�, a k�vetkez�ket kell megadnod:
+miquels::::::: +ed::::::: +dth::::::: +@sysadmins::::::: -ftp +:*::::::/etc/NoShell |
Jegyezz�k meg, hogy Linux rendszerben a jelsz� mez�t is fel�l lehet b�r�lni ugyan�gy, ahogy ebben a p�ld�ban tett�k. Elt�vol�tottuk az "ftp" felhaszn�l�t is, teh�t itt t�bb� nem l�tezik, azaz az anonymous ftp nem fog t�bb� m�k�dni.
A h�l�zati csoport �gy fog kin�zni:
sysadmins (-,software,) (-,kukuk,) |
FONTOS: A h�l�zati csoport (netgroup) be�ll�t�si lehet�s�g a 4.5.26-os libc v�ltozatt�l kezdve haszn�lhat�. Ha 4.5.26-os libc-n�l kor�bbi v�ltozatod van, minden NIS jelsz�-adatb�zisban szerepl� felhaszn�l� hozz�f�rhet a Linux g�pedhez, ha "ypbind"-et futtatsz!
Mind�ssze arra van sz�ks�g, hogy a NIS konfigur�ci�s f�jl (/etc/yp.conf) a helyes szerver(ek)re mutasson. Ezen k�v�l a N�vszolg�ltat�s Kapcsol� (Name Services Switch) konfigur�ci�s f�jlt (/etc/nsswitch.conf) helyesen be kell �ll�tani.
Az ypbind-et fel kell m�g telep�tened. Erre nem a libc-nek, hanem a NIS(YP) tools-nak van sz�ks�ge.
Ha szeretn�d haszn�lni a felhaszn�l�k hozz�ad�sa/kiz�r�sa jellemz�t (+/-guest/+@admins), a "passwd: compat"-t �s "group: compat" sort be kell az nsswitch.conf f�jlba tenned. Jegyezz�k meg, hogy nincs "shadow: compat"! "shadow: files nis" bejegyz�st kell haszn�lnod ebben az esetben.
A NYS forr�sok nem r�szei az 5-�s libc forr�snak. Ha a configure szkriptet futtatod, v�laszd els� alkalommal "NO"-t a "Values correct" k�rd�sre, �s ut�na "YES"-t a "Build a NYS libc from nys" k�rd�sre.
A glibc a "hagyom�nyos NIS"-t haszn�lja, teh�t el kell ind�tanod az ypbind-et. A N�v Szolg�ltat�s Kapcsol� konfigur�ci�s (Name Services Switch) f�jlt (/etc/nsswitch.conf) helyesen be kell �ll�tani. Ha a compat m�dot haszn�lod a passwd-hez, shadow-hoz vagy a group-hoz, hozz� kell adnod ezen f�jlok v�g�hez a "+"-t, �s haszn�lhatod a felhaszn�l� hozz�ad�s/kiz�r�s jellemz�t. A be�ll�t�s ugyanilyen Solaris 2.x eset�n is.
A H�l�zati Szolg�ltat�sok (Network Services) be�ll�t�si f�jl (/etc/nsswitch.conf) hat�rozza meg egy meghat�rozott inform�ci�csoport lek�rdez�sekor a felold�sok sorrendj�t, hasonl�an ahogy az /etc/host.conf f�jl meghat�rozza, hogy milyen m�don t�rt�njen a g�pn�v felold�sa. P�ld�ul a
hosts: files nis dns |
sor meghat�rozza, hogy a g�pn�v felold�s f�ggv�ny el�sz�r a helyi /etc/hosts f�jlt n�zze, majd NIS felold�s k�vesse, v�g�l a k�rzetn�v szolg�ltat�son kereszt�l oldja fel (/etc/resolv.conf �s named). Enn�l a pontn�l, ha nincs tal�lat, hib�val t�r vissza. Ezt az f�jlt minden felhaszn�l� sz�m�ra olvashat�v� kell tenni! Tov�bbi inform�ci�t tal�lsz err�l az nsswitch.5, vagy az nsswitch.conf.5 k�zik�nyv oldalakban.
Egy NIS sz�m�ra haszn�lhat� /etc/nsswitch.conf f�jl:
# # /etc/nsswitch.conf # # Egy p�lda N�v Szolg�ltat�s Kapcsol� (Name Service Switch) be�ll�t�si # f�jl. Ezt az f�jlt �gy kell rendezni, hogy a legink�bb haszn�lt # szolg�ltat�s ker�lj�n az elej�re. # # A '[NOTFOUND=return]' bejegyz�s azt jelenti, hogy egy bejegyz�s # keres�se be kell, hogy fejez�dj�n, ha az el�z� bejegyz�s keres�se # nem adott vissza semmit. Jegyezz�k meg, hogy ha a keres�s m�s # okb�l hib�s (mondjuk nem v�laszol NIS szerver), akkor a keres�s # folytat�dik a k�vetkez� bejegyz�ssel. # # Lehets�ges bejegyz�sek: # # nisplus Haszn�lj NIS+ -t (NIS 3-as verzi�) # nis Haszn�lj NIS-t (NIS 2-es verzi�), YP-nek is |h�vj�k # dns Haszn�lj DNS-t (Domain Name Service: K�rzet |N�v Szolg�ltat�s) # files Haszn�ld a helyi f�jlokat # db Haszn�ld a /var/db adatb�zist # [NOTFOUND=return] Hagyd abba a keres�st, ha nem tal�lod # passwd: compat group: compat # libc5 eset�n shadow: files nis -t kell haszn�lod 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 |
A passwd_compat, group_compat �s shadow_compat csak glibc 2.x alatt t�mogatott. Ha nincs shadow szab�ly az /etc/nsswitch.conf f�jlban, a glibc a passwd szab�lyt fogja alkalmazni a felold�shoz. Van m�g n�h�ny felold� modul a glibc-hez, mint p�ld�ul a hesoid. Tov�bbi inform�ci��rt olvasd el a glibc dokument�ci�j�t.
A NIS feletti �rny�k jelszavak haszn�lata mindig rossz �tlet. Elveszted az �rny�k �ltal biztos�tott biztons�got, �s csak n�h�ny Linux C k�nyvt�r t�mogatja. Egy j� m�dszer a NIS feletti �rny�k jelszavak haszn�lat�nak elker�l�s�re az, hogy csak a helyi felhaszn�l�k eset�n haszn�lsz �rny�kjelsz�t az /etc/shadow f�jlban. Vedd ki a NIS felhaszn�l� bejegyz�seket az �rny�k adatb�zisb�l, �s tedd vissza a jelsz�t a passwd f�jlba. �gy teh�t haszn�lhatod az �rny�k jelsz�t a root bejelentkez�shez, �s a hagyom�nyos passwd-t a NIS felhaszn�l�hoz. Ennek a m�dszernek megvan az az el�nye, hogy minden NIS kliens eset�n m�k�dni fog.
Az egyetlen Linux libc, amely t�mogatja az �rny�k jelszavak NIS feletti haszn�lat�t a GNU C 2.x k�nyvt�r. A Linux libc5-ben nincs ehhez t�mogat�s. A Linux libc5 enged�lyezett NYS-sel leford�tva tartalmaz n�mi k�dot hozz�. Azonban ez a k�d n�h�ny esetben hib�san m�k�dik, �s nem m�k�dik minden �rny�k bejegyz�ssel helyesen.
A Linux-PAM 0.75 �s �jabb verz�i t�mogatj�k a NIS feletti �rny�k jelszavakat, amennyiben pam_unix.so modult haszn�lsz, vagy telep�ted a pam_unix2.so modult. R�gi rendszerekn�l (p�ld�ul RedHat 5.x) , melyek m�g a pam_pwdb/libpwdb-t haszn�lj�k, meg kell v�ltoztatnod az /etc/pam.d/* bejegyz�seket. Cser�ld ki az �sszed pam_pwdb szab�lyt a pam_unix_* modulokban.
Az /etc/pam.d/login f�jl p�ld�ul �gy n�z ki:
#%PAM-1.0 auth requisite pam_unix2.so nullok #set_secrpc auth required pam_securetty.so auth required pam_nologin.so auth required pam_env.so auth required pam_mail.so account required pam_unix2.so password required pam_pwcheck.so nullok password required pam_unix2.so nullok use_first_pass use_authtok session required pam_unix2.so none # debug or trace session required pam_limits.so |
A Linux NIS+ kliens k�dot a GNU C 2-es k�nyvt�rhoz fejlesztett�k ki. Vagy Linux libc5-h�z is egy v�ltozat, hiszen a legt�bb kereskedelmi alkalmaz�st ehhez a k�nyvt�rhoz ford�tj�k �s nem tudod �ket glibc haszn�lat�hoz �jraford�tani. Probl�m�k vannak a libc5 �s NIS egy�ttes haszn�lat�ban: statikus programokat nem lehet ehhez ford�tani, �s az e k�nyvt�rhoz ford�tott programok nem fognak m�s libc5 v�ltozatokkal m�k�dni.
Ha olyan disztrib�ci�d van, amelyikben nincs 2.11-es vagy �jabb glibc, akkor be kell szerezned egyet, vagy friss�tened kell a rendszered glibc-j�t. Alaprendszerk�nt, sz�ks�ged lesz egy glibc alap� disztrib�ci�ra, mint p�ld�ul a Debian, RedHat, vagy SuSE Linux.
A NIS+ kliens szoftvert megszerezheted az al�bbi c�mekr�l:
Hely K�nyvt�r F�jl neve ftp.gnu.org /pub/gnu/glibc glibc-2.3.2.tar.gz, glibc-linuxthreads-2.3.2.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS+ nis-utils-1.4.1.tar.gz |
N�zz k�r�l a http://www.linux-nis.org/nisplus/ webhelyen tov�bbi inform�ci�k�rt, �s a legfrissebb forr�sok�rt.
FONTOS: NIS+ kliens be�ll�t�s�hoz olvasd el a Solaris NIS+ dokument�ci�kat, abban van le�rva mit kell tenni a szerver oldal�n! Ez a dokument�ci� csak a kliens oldali teend�ket �rja le!
Miut�n feltelep�tetted az �j libc-t �s NIS-eszk�z�ket, elk�sz�theted az �j kliens megb�z�level�t (credential) a NIS+ szerveren. Gy�z�dj meg r�la, hogy a portmap fut. Ezut�n ellen�rizd, hogy a Linux g�ped ideje megegyezik a NIS+ szerver�vel. Biztons�gos RPC haszn�latakor legfeljebb 3 perces ablak �ll rendelkez�sre, am�g a megb�z�sok �rv�nyesek. J� �tlet minden g�pen az xntpd futtat�sa. Mindezek ut�n futtasd a k�vetkez�ket:
domainname nisplus.domain. nisinit -c -H <NIS+ server> |
az ind�t�f�jlok be�ll�t�s�hoz. Olvasd el az nisinit k�zik�nyv oldalt a t�bbi lehet�s�g�rt. Gy�z�dj meg r�la, hogy a k�rzetn�v minden �jraind�t�s ut�n be�ll�t�dik-e. Ha nem tudod, hogy mi a h�l�zatod NIS+ k�rzetneve, k�rdezd meg a redszergazd�t/h�l�zati adminisztr�tort.
Most c�lszer� megv�ltoztatnod az /etc/nsswitch.conf f�jlt. Bizonyosodj meg arr�l, hogy a publickey szolg�ltat�s ut�ni egyetlen szolg�ltat�s a nisplus ("publickey: nisplus"), �s semmi m�s!
Ezut�n ind�tsd el a keyserv-et, �s n�zd meg, hogy minden indul�skor ez az els� elindul� d�mon a portmap ut�n. Futtasd a
keylogin -r |
A niscat passwd.org_dir parancsnak ekkor m�r meg kell mutatnia a passwd adatb�zisod �sszes bejegyz�s�t.
Amikor a felhaszn�l� bejelentkezik, meg kell adnia a titkos kulcs�t a keyserv-nek. Ezt a "keylogin" parancs h�v�s�val teszi meg. Az �rny�k (shadow) csomagban l�v� login megteszi ezt a felhaszn�l�nak, ha glibc-2.1-el volt leford�tva. A PAM alap� bejelentkez�shez fel kell telep�teni a pam_keylogin-1.2.tar.gz csomagot, �s meg kell v�ltoztatni az /etc/pam.d/login f�jlt �gy, hogy a pam_unix_auth-ot haszn�lja, ne a pwdb-t, ami nem t�mogatja a NIS+ -t. P�ld�ul:
#%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_unix2.so set_secrpc auth required /lib/security/pam_nologin.so account required /lib/security/pam_unix2.so password required /lib/security/pam_unix2.so session required /lib/security/pam_unix2.so |
A H�l�zati Szolg�ltat�sok (Network Services) be�ll�t�si f�jl (/etc/nsswitch.conf) megadja, hogy milyen sorrendben t�rt�njenek a k�r�s-felold�sok, ha egy bizonyos inform�ci�k�r�s t�rt�nt, hasonl�an ahogy az /etc/host.conf f�jl meghat�rozza a g�pn�v felold�s�nak menet�t. P�ld�ul a
hosts: files nisplus dns |
sor meghat�rozza, hogy a g�pn�v felold� f�ggv�ny el�sz�r a helyi /etc/hosts f�jlt n�zze, amit egy NIS+ felold�s k�vessen, v�g�l a k�rzetn�v szolg�ltat�st k�rdezze (/etc/resolv.conf �s named), ami ut�n ha nincs tal�lat, akkor hib�val t�r vissza.
Egy haszn�lhat� NIS+ /etc/nsswitch.conf f�jl:
# # /etc/nsswitch.conf # # Egy p�lda N�v Szolg�ltat�s Kapcsol� (Name Service Switch) be�ll�t�si f�jl. # Ezt a f�jlt �gy kell rendezni, hogy a legt�bbsz�r haszn�lt szolg�ltat�s # ker�lj�n az elej�re. # # A '[NOTFOUND=return]' bejegyz�s azt jelenti, hogy egy bejegyz�s # keres�se fejez�dj�n be, ha az el�z� bejegyz�s keres�se # nem adott vissza semmit. Jegyezz�k meg, hogy ha a keres�s m�s # okb�l hib�s (mondjuk nem v�laszol NIS szerver), akkor a keres�s # folytat�dik a k�vetkez� bejegyz�ssel. # # Lehets�ges bejegyz�sek: # # nisplus Haszn�lj NIS+ -t (NIS 3-as verzi�) # nis Haszn�lj NIS-t (NIS 2-es verzi�), YP-nek is h�vj�k # dns Haszn�lj DNS-t (Domain Name Service: K�rzet N�v Szolg�ltat�s) # files Haszn�ld a helyi f�jlokat # db Haszn�ld a /var/db adatb�zist # [NOTFOUND=return] Hagyd abba a keres�st, ha nem tal�lod # passwd: compat group: compat shadow: compat 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 automount: files aliases: nisplus [NOTFOUND=return] files |
Ez a dokument�ci� csak az "ypserv" NIS szerver be�ll�t�s�t tartalmazza.
A NIS szerver szoftvert megtal�lod a
Hely K�nyvt�r F�jl neve ftp.kernel.org /pub/linux/utils/net/NIS ypserv-2.9.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS ypserv-2.9.tar.bz2 |
helyen.
B�vebb inform�ci�kat tal�lsz m�g a http://www.linux-nis.org/nis/ webhelyen.
A hagyom�nyos NIS �s a NYS szerver be�ll�t�sa megegyezik.
Az ypserv �s makedbm programok elk�sz�t�s�hez ford�tsd le a szoftvert. Be�ll�thatod az ypserv-et securenets f�jlok vagy tcp_wrapper-ek haszn�lat�ra.
Ha a szerveredet mesterk�nt futtatod, hat�rozd meg, hogy melyik f�jlokat kell NIS-en kereszt�l el�rhet�v� tenned, �s add hozz� vagy vedd ki a megfelel� bejegyz�seket az "all" szab�lyn�l a /var/yp/Makefile f�jlban. Mindig c�lszer� megn�zned, �s megfelel�en szerkeszteni az Opci�kat (Options) a Makefile elej�n.
Nagy v�lt�s volt az ypserv 1.1 �s az 1.2 k�z�tt. Az 1.2-es verzi� �ta az f�jlkezel�k cache-ben t�rol�dnak. Ez azt jelenti, hogy ha �j map-eket k�sz�tesz, mindig a -c kapcsol�val kell megh�vnod a makedbm-et. Gy�z�dj meg r�la, hogy az ypserv 1.2-b�l, vagy �jabbb�l sz�rmaz� /var/yp/Makefile-t haszn�lod, vagy add hozz� a -c kapcsol�t a makedbm- hez a Makefile-ban. Ha ezt nem teszed meg, az ypserv nem fogja tov�bb haszn�lni a r�gi map-eket, �s a friss�tetteket sem.
Most �tszerkesztheted a /var/yp/securenets �s a /etc/ypserv.conf f�jlokat. B�vebb inform�ci�k�rt olvasd el az ypserv(8) �s az ypserv.conf(5) k�zik�nyv oldalakat.
Bizonyosodj meg r�la, hogy a portmapper (portmap(8)) fut, �s ind�tsd el az ypserv szervert. A
% rpcinfo -u localhost ypserv |
utas�t�s kimenete hasonl� lesz ehhez:
program 100004 version 1 ready and waiting program 100004 version 2 ready and waiting |
A "version 1" sor lehet, hogy hi�nyzik, az ypserv verzi�j�t�l f�gg�en, �s att�l f�gg�en, hogy milyen konfigur�ci�s f�jlt haszn�lsz. Csak akkor l�nyeges, ha r�gi SunOS 4.x-es klienseket haszn�lsz.
Most k�sz�ts�k el a NIS (YP) adatb�zist. A mesteren futtasd a
% /usr/lib/yp/ypinit -m |
parancsot. A szolg�n n�zd meg, hogy m�k�dik-e az ypwhich -m. Miel�tt a
% /usr/lib/yp/ypinit -s masterhost |
Nos, a szervered k�sz van �s m�k�dik.
Ha nagyobb probl�m�id vannak, elind�thatod az ypserv �s ypbind programokat nyomk�vet� �zemm�dban is, k�l�nb�z� xterm-ekben. A nyomk�vet�s kimenet�nek mutatnia kell, hogy mi m�k�dik rosszul.
Ha map-et kell friss�tened, futtasd a NIS mester szerveren a make-et a /var/yp k�nyvt�rban. Ez friss�teni fogja a map-et, ha a forr�sf�jl frissebb, majd �t is adja a szolga szervereknek is. K�rlek ne haszn�ld a map friss�t�shez az /var/yp-et.
Esetleg �tszerkesztheted a root crontabj�t *a szolga* szerveren �s hozz�adni a k�vetkez� sorokat:
20 * * * * /usr/lib/yp/ypxfr_1perhour 40 6 * * * /usr/lib/yp/ypxfr_1perday 55 6,18 * * * /usr/lib/yp/ypxfr_2perday |
A k�s�bbiekben b�rmikor hozz�adhatsz �j szolg�t. El�sz�r biztos�tsd, hogy az �j szolga szervernek legyen jogosults�ga a NIS mester szerverhez kapcsol�dni, majd futtasd a
% /usr/lib/yp/ypinit -s masterhost |
Ha korl�tozni szeretn�d a felhaszn�l�k hozz�f�r�s�t a NIS szerveredhez, a NIS szerveredet kliensk�nt is �zemeltetned kell �gy, hogy elind�tod az ypbind-et, �s hozz�adod az /etc/passwd jelsz� f�jlhoz _f�l�ton_ a plusz bejegyz�seket. A k�nyvt�r f�ggv�nyek figyelmen k�v�l hagyj�k a hagyom�nyos bejegyz�seket az els� NIS bejegyz�s ut�n �s a t�bbit NIS-en kereszt�l szerzik meg. �gy a NIS hozz�f�r�s-szab�lyok karbantartottak. P�ld�ul:
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 [ All normal users AFTER this line! ] tester:*:299:10:Just a test account:/tmp: miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh |
B�r a "tester" felhaszn�l� l�tezik, a parancs�rtelmez�je azonban az /etc/NoShell. miquels-nek rendes hozz�f�r�se lesz.
Alternat�vak�nt �tszerkesztheted a /var/yp/Makefile f�jlt �s be�ll�thatod, hogy a NIS m�sik jelsz� forr�s f�jlt haszn�ljon. Nagy rendszereken a NIS jelsz� �s csoport f�jlok �ltal�ban az /etc/yp/ k�nyvt�rban vannak. Ha a hagyom�nyos eszk�z�ket nem haszn�lhat�k a passwd, chfn, adduser f�jlokat adminisztr�l�s�ra. Ehhez saj�t k�sz�t�s� programokra lesz sz�ks�ged.
Hab�r az yppasswd, ypchsh �s az ypchfn term�szetesen m�k�dni fog.
Az "yps" NIS szerver be�ll�t�s�hoz tanulm�nyozd az el�z� fejezetet. Az "yps" szerver be�ll�t�sa hasonl�, _de_ nem pontosan ugyanolyan, teh�t l�gy �vatos, miel�tt megpr�b�lod az "ypserv" utas�t�sait az "yps"-re alkalmazni! Az "yps"-t nem t�mogatja egyik szerz� sem, �s n�h�ny biztons�gi r�st is tartalmaz. T�nyleg nem kellene haszn�lod!
Az "yps" NIS szerver szoftvert megtal�lod az al�bbi c�meken:
Hely K�nyvt�r F�jl neve 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 |
Az rpc.ypxfrd-t nagyon nagy NIS map f�jlok eset�n haszn�ljuk a mester �s szolga NIS szerverek k�z�tti adat�tvitel gyors�t�s�ra. Ha egy NIS szolga szerver olyan �zenetet kap, hogy �j map k�sz�lt, elind�tja az ypxfr-t, hogy let�ltse azt. Az ypxfr elolvassa a mester szerver map-j�t az yp_all() f�ggv�ny seg�ts�g�vel. Ez a folyamat t�bb percet is ig�nybe vehet, ha nagyon nagy map f�jlokr�l van sz�, amit az adatb�zis k�nyvt�rban kell t�rolni.
Az rpc.ypxfrd szerver �gy gyors�tja az �tvitel folyamat�t, hogy a NIS szolga szervereknek enged�lyezi, hogy egyszer�en lem�solj�k a szerver map f�jlait, �s ne kelljen �jra fel�p�teni�k a saj�tjukat. Az rpc.ypxfrd RPC-alap� f�jl �tviteli protokollt haszn�l, teh�t nincs sz�ks�g �j map �p�t�s�re.
Az rpc.ypxfrd ind�that� az inetd-b�l, azonban mivel nagyon lassan indul el, c�lszer� az ypserv seg�ts�g�vel ind�tani. Az rpc.ypxfrd-t csak a mester NIS szerveren kell elind�tanod.
Amikor a felhaszn�l�k megv�ltoztatj�k a jelszavukat, a NIS jelsz� adatb�zis, �s feltehet�leg az �sszes, ett�l a NIS jelsz� adatb�zist�l f�gg� t�bbi adatb�zis friss�t�sre szorul. Az "rpc.yppasswdd" program egy olyan szerver, ami a jelsz�v�ltoz�sokat kezeli, �s gondoskodik arr�l, hogy a NIS inform�ci� helyesen friss�lj�n. Az rpc.yppasswdd m�r az ypserv r�sze. Nincs sz�ks�ged r�gi, k�l�n�ll� yppasswd-0.9.tar.gz-re, vagy yppasswd-0.10.tar.gz-re, �s nem is javallott a tov�bbiakban haszn�latuk.
Az rpc.yppasswdd d�mont csak a mester NIS szerveren kell elind�tanod. Alap�rtelmez�s szerint a felhaszn�l�k nem v�ltoztathatj�k meg a teljes nev�ket, illetve a parancs�rtelmez�j�ket. Enged�lyezheted ezek megv�ltoztat�s�t a -e chfn vagy -e chsh kapcsol�kkal.
Ha a jelsz� vagy az �rny�kf�jlok nem az /etc k�nyvt�rban vannak, a -D kapcsol�t is haszn�lnod kell. P�ld�ul ha minden forr�sf�jlt az /etc/yp k�nyvt�rba tett�l, �s szeretn�d enged�lyezni a felhaszn�l�k sz�m�ra, hogy megv�ltoztathass�k a parancs�rtelmez�j�ket, a k�vetkez� param�terekkel kell ind�tanod az rpc.yppasswdd d�mont:
rpc.yppasswdd -D /etc/yp -e chsh |
vagy
rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh |
Nincs m�s tennival�, m�r csak meg kell gy�z�dn�d r�la, hogy az rpc.yppasswdd ugyanazt az f�jlt haszn�lja, mint a /var/yp/Makefile. A hib�kat a syslog napl�zza.
Ha minden rendben (ahogy lennie kellene), n�h�ny egyszer� utas�t�ssal ellen�rizheted a telep�t�st. Felt�telezve, hogy p�ld�ul a jelsz� f�jlodat a NIS adja, a
% ypcat passwd |
utas�t�snak vissza kell adnia a NIS jelsz�f�jlod tartalm�t. A
% ypmatch userid passwd |
utas�t�s (ahol a userid egy tal�lomra v�lasztott felhaszn�l� azonos�t�ja) vissza kell, hogy adja a felhaszn�l� NIS jelsz� f�jlban l�v� bejegyz�s�t. Az "ypcat" �s az "ypmatch" programokat a hagyom�nyos NIS vagy NYS disztrib�ci�d tartalmazza.
Ha egy felhaszn�l� nem tud bejelentkezni, ind�tsd el a k�vetkez� programot a kliensen:
#include <stdio.h> #include <pwd.h> #include <sys/types.h> int main(int argc, char *argv[]) { struct passwd *pwd; if(argc != 2) { fprintf(stderr,"Haszn�lat: getwpnam felhaszn�l�n�v\n"); exit(1); } pwd=getpwnam(argv[1]); if(pwd != NULL) { printf("n�v......: [%s]\n",pwd->pw_name); printf("jelsz�...: [%s]\n",pwd->pw_passwd); printf("felh. id.: [%d]\n", pwd->pw_uid); printf("csoport id: [%d]\n",pwd->pw_gid); printf("gecos....: [%s]\n",pwd->pw_gecos); printf("k�nyvt�r.: [%s]\n",pwd->pw_dir); printf("shell....: [%s]\n",pwd->pw_shell); } else fprintf(stderr,"Az \"%s\" felhaszn�l� nem tal�lhat�!\n",argv[1]); exit(0); } |
Ezt a programot futtatva a felhaszn�l� nev�vel, mint param�terrel, ki�rja mindazt az inform�ci�t, amit a getpwnam f�ggv�ny ad vissza erre a felhaszn�l�ra. Ennek meg kell mutatnia, hogy melyik bejegyz�s hib�s. A leggyakoribb probl�ma az, hogy a jelsz� mez� "*"-al fel�l lett �rva.
A GNU C 2.1-es k�nyvt�r (glibc 2.1) tartalmaz egy getent eszk�zt. Ezt haszn�lhatod a fenti program helyett egy ilyen rendszeren. Kipr�b�lhatod:
getent passwd |
getent passwd login |
Az els� NIS t�rk�pek a
% /usr/lib/yp/ypinit -m |
parancs futtat�s�val hozhat�k l�tre. Ezt a NIS mester szerver l�trehoz�sakor kell tenni. A "NIS szerver be�ll�t�sa" fejezetben b�vebben olvashatsz err�l. �j t�rk�p hozz�ad�sa, illetve egy r�gi elt�vol�t�sa, a /var/yp/Makefile szerkeszt�s�vel lehets�ges: meg kell v�ltoztatnod az all: kezdet� sort. Add hozz� vagy t�vol�tsd el a sz�ks�ges/sz�ks�gtelen szab�ly nev�t.
Ha elt�vol�tasz egy t�rk�p bejegyz�st, a hozz� tartoz� f�jlokat is t�r�ln�d kell.
A v�ltoztat�sok ut�n m�r csak a
% make -C /var/yp |
parancsot kell futtatnod �s elk�sz�lnek a t�rk�peid.
Ha megv�ltoztatod a NIS t�rk�pek forr�sadatait, (mondjuk egy �j felhaszn�l�t veszel fel a passwd f�jlba) akkor �jra kell gener�lnod a NIS t�rk�peket is. Ezt egyszer�en a
% make -C /var/yp |
parancs kiad�s�val �rheted el. Ez az utas�t�s megn�zi mely forr�sok v�ltoztak, elk�sz�ti az �j t�k�peket �s tudatja az ypserv-vel a v�ltoz�sokat.
A NIS protokoll 1024 karakterre korl�tozza egy-egy bejegyz�s hossz�t. Nem lehet teh�t csak �gy megv�ltoztatni ezt az �rt�ket, �s �jraford�tani a rendszert. Minden NIS v2-t haszn�l� rendszer 1024 byte-n�l r�videbb kulcs �s adat�rt�keket v�r; ha hirtelen megn�veled a kliens �s szerver YPMAXRECORD v�ltoz�j�nak m�ret�t, megszakad az �tj�rhat�s�g a NIS-t haszn�l� rendszereid k�z�tt. Ahhoz, hogy ez �gy m�k�dj�n, el kellene menned minden szoftvergy�rt�hoz, akik rendszerei t�mogatj�k a NIS-t �s r� kellene venned �ket, hogy v�ltoztass�k m�r meg az 1024 byte-os m�retet, m�ghozz� egyszerre, �s egyform�n... el�g csek�ly a val�sz�n�s�ge annak, hogy eredm�nyes lesz az utad.
A glibc 2.1-t�l kezdve a glibc NIS alkalmaz�sain ez a korl�t megsz�nt. Vagyis lehets�gess� v�lt, hogy Linux rendszereken haszn�lhassunk hosszabb bejegyz�seket is, de csak ha nincs m�s t�pus� kliens, vagy szerver a rendszerben.
Ahhoz, hogy hosszabb bejegyz�seket haszn�lhass a NIS t�rk�peken, hozz� kell adnod a /var/yp/Makefile-ban lev� makedbm bejegyz�shez a --no-limit-check opci�t.
Az eredm�ny valami ilyesmi:
DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check |
FIGYELEM! Ez t�r�st okoz a NIS protokollban, �s b�r a Linux t�mogatja, nem minden Linux alatt fut� program tud a v�ltoz�sokkal egy�tt dolgozni.
Van egy m�sik �tja is a probl�ma megold�s�nak. Ken Cameron �tlet�b�l ered �s a /etc/group f�jl bejegyz�seit �rinti:
1. A bejegyz�st t�bb sorban helyezz�k el �gy, hogy minden csoport egym�st�l kiss� elt�r� nevekkel szerepeljen. 2. A GID maradjon ugyanaz minden csoportn�l 3. Legyen az els� bejegyz�s a j� csoportn�v �s GID (�n nem teszek felhaszn�l�nevet ide) Amikor azt�n a program felhaszn�l� szerint haladva elolvassa a GID-et, majd visszafel� haladva meg�ll az els� egyez� GID-n�l �s beolvassa a hozz� tartoz� felhaszn�l�nevet. Ronda, de m�k�dik! |
Ha egyszer be�ll�tottad �s m�k�d�k�pess� tetted a NIS rendszered, mind a kliens, mind pedig a szerver oldalr�l, meg kell gy�z�dn�d arr�l is, hogy ez az �llapot fennmarad-e a rendszer �jraind�t�sakor is.
K�t elk�l�n�l� dolgot kell ellen�rizned: Az ind�t� szkript megl�t�t, �s a NIS domainn�v helyes t�rol�s�t.
A Linux disztrib�ci�d szerinti init-szkript k�nyvt�rban (leggyakrabban: /etc/init.d, /etc/rc.d/init.d ,/sbin/init.d) ellen�rizd, hogy megvan-e a NIS ind�t�s�hoz sz�ks�ges szkript. �ltal�ban ypbind vagy ypclient n�ven tal�lod meg.
Tal�n az egyik legfontosabb k�rd�s, ami n�h�nyunkn�l felmer�lhet a NIS-sel kapcsolatban, hogy a NIS domain �jraind�t�s ut�n el�rhet�-e vagy sem. Solaris 2.x rendszerekn�l a NIS domaina t az
/etc/defaultdomain |
f�jlban kell t�rolni. A legt�bb Linux disztrib�ci� nem haszn�lja ezt a f�jlt.
Mostan�ig a k�vetkez� inform�ci�k �llnak rendelkez�sre a Linux disztrib�ci�k NIS domainn�v t�rol�s�val kapcsolatban:
A Caldera az /etc/nis.conf f�jlt haszn�lja, form�tuma a norm�l /etc/yp.conf-val megegyez�.
Az /etc/sysconfig/network f�jlban tal�lhat� NISDOMAIN v�ltoz�val �ll�thatjuk be a k�rzetnevet.
Az /etc/rc.config f�jlban az YP_DOMAINNAME v�ltoz�t m�dos�thatod, majd futtatni kell a SuSEconfig-ot.
A 8.0-t�l kezdve a SuSE is a SUN-os rendszert k�veti, vagyis /etc/defaultdomain.
A NIS jelsz� megv�ltoztat�s�nak �ltal�nos m�dja az yppasswd program megh�v�sa, ez n�h�ny rendszeren ez mind�ssze a passwd program alias neve. Ez a parancs az yppasswd protokollt haszn�lja, emellett sz�ks�ges az rpc.yppasswdd folyamatnak futnia a NIS master szerveren. A protokoll el�gg� idej�tm�lt, a r�gi jelsz�t sima sz�vegk�nt k�ldi �t a h�l�zaton. Ez nem probl�m�s, amennyiben a jelsz� sikeresen megv�ltozik. Abban az esetben a r�gi jelsz�t felv�ltja egy �j. De ha a jelsz�v�lt�s sikertelen, �gy egy t�mad� haszn�lhatja a helyes jelsz�t, �s bel�phet a felhaszn�l� nev�ben. M�g rosszabb, ha a rendszeradminisztr�tor v�ltoztatja meg egy m�sik felhaszn�l� jelszav�t, ekkor a NIS master szerver root jelszava tov�bb�t�dik sima sz�vegk�nt a h�l�zaton. �s az ebben az esetben nem fog megv�ltozni.
Egyfajta megold�s az, ha nem az yppasswd programot haszn�lod jelsz�v�lt�sra. Ehelyett j�l haszn�lhat� az rpasswd parancs a pwdutils csomagb�l.
Webhely K�nyvt�r F�jl neve ftp.kernel.org /pub/linux/utils/net/NIS pwdutils-2.3.tar.gz ftp.suse.com /pub/people/kukuk/pam/pam_pwcheck pam_pwcheck-2.2.tar.bz2 ftp.suse.com /pub/people/kukuk/pam/pam_unix2 pam_unix2-1.16.tar.bz2 |
Az rpasswd biztons�gos SSL kapcsolaton kereszt�l megv�ltoztatja egy felhaszn�l� jelszav�t egy t�voli szerveren. Egy �tlagos felhaszn�l� csak a saj�t jelszav�t v�ltoztathatja meg, ha az adminisztr�tor jelszav�t is tudja, akkor pedig b�rki�t, ha megh�vja az rpasswd programot az -a kapcsol�val.
A szervernek az els�sorban tan�s�tv�nyra van sz�ks�ge, annak alap�rtelmezett f�jlneve az /etc/rpasswdd.pem. Ezt a k�vetkez� paranccsal hozhatod l�tre:
openssl req -new -x509 -nodes -days 730 -out /etc/rpasswdd.pem -keyout /etc/rpasswdd.pem |
Egy PAM be�ll�t�f�jlra is sz�ks�ge van az rpasswdd programnak. Ha a NIS felhaszn�l�i jelszavak az /etc/passwd f�jlban vannak, a k�vetkez� p�lda j� kiindul�si alapot ny�jt a be�ll�t�shoz:
#%PAM-1.0 auth required pam_unix2.so account required pam_unix2.so password required pam_pwcheck.so password required pam_unix2.so use_first_pass use_authtok password required pam_make.so /var/yp session required pam_unix2.so |
Ha a NIS jelsz�t�rk�pek forr�sa m�sutt t�rol�dik (p�ld�ul /etc/yp), �gy a pam_unix2 nisdir kapcsol�ja haszn�lhat� a forr�sf�jl megkeres�s�re:
#%PAM-1.0 auth required pam_unix2.so account required pam_unix2.so password required pam_pwcheck.so nisdir=/etc/yp password required pam_unix2.so nisdir=/etc/yp use_first_pass use_authtok password required pam_make.so /var/yp session required pam_unix2.so |
Most ind�tsd el az rpasswdd d�mont a NIS mester szerveren.
A PAM modulokban t�rt�nt jelsz�be�ll�t�s ut�n az rpasswdd is haszn�lhat� jelsz�v�lt�sra NIS+, LDAP vagy m�s, a PAM modul �ltal t�mogatott szolg�ltat�sokhoz.
Minden egyes kliensen csak az /etc/rpasswd.conf f�jlban vannak a sz�ks�ges szerverek nevei. Ha a szerver nem az alap�rtelmezett portot haszn�lja, akkor azt be kell �ll�tani:
# az rpasswdd az master.example.com g�pen fut server master.example.com # Port 774 az alap�rtelmezett port 774 |
�me n�h�ny �ltal�nos, felhaszn�l�k �ltal jelzett probl�ma:
A 4.5.19-eshez sz�ll�tott programk�nyvt�rak hib�sak. A NIS nem m�k�dik vele.
Ha a 4.5.19-es k�nyvt�rakat 4.5.24-re friss�ted, akkor a su program megszakad. Meg kell szerezned a su programot az 1.2.0-s slackware-b�l. Min� v�letlen, hogy pont ugyaninnen szerezheted be a friss�tett programk�nyvt�rakat is.
Amikor egy NIS szervert lekapcsolnak, majd �jra bekapcsolnak, az ypbind a k�vetkez� �zenettel indul:
yp_match: clnt_call: RPC: Unable to receive; errno = Connection refused |
Miut�n a libc-t 5.4.20-asn�l magasabb verzi�sz�mra friss�tetted, az YP eszk�z�k nem m�k�dnek tov�bb. 1.2-es, vagy frissebb yp-tools-ra lesz sz�ks�ged az 5.4.21-es, vagy frissebb libc-hez �s a glibc 2.x-hez. Kor�bbi libc verzi�j� libc-hez 2.2-es yp-clients kell. Az yp- tools 2.x-nek minden programk�nyvt�rral m�k�dnie kell.
A 5.4.21 - 5.4.35 sz�m� libc-ben az yp_maplist hib�s, 5.4.36-es, vagy frissebb v�ltozatra van sz�ks�ged, vagy n�h�ny YP program, mint p�ld�ul az ypwhich segfault hib�val le�ll.
A libc 5 hagyom�nyos NIS-el nem t�mogatja a NIS feletti �rny�k jelszavakat. libc5+NYS-re vagy glibc 2.x-re van sz�ks�ged.
Az ypcat shadow nem mutatja a shadow map-et. Ez �gy helyes, az �rny�k t�rk�p neve shadow.byname, nem shadow.
A Solaris nem mindig haszn�l privilegiz�lt kapukat, teh�t ne haszn�lj password mangling-et ha Solaris kliensed is van.
Mostanra a legt�bb k�rd�sedre v�lasz kellett kapnod. Ha m�g mindig lenne megv�laszolatlan k�rd�sed, k�ldj egy �zenetet a
comp.os.linux.networking |
h�rcsoportba.