A NIS-HOGYANt szerkeszti, �s karbantartja:
Thorsten Kukuk, <kukuk@suse.de> |
Andrea Dell'Amico <adellam@ZIA.ms.it> Mitchum DSouza <Mitch.DSouza@NetComm.IE> Erwin Embsen <erwin@nioz.nl> Peter Eriksson <peter@ifm.liu.se> |
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.
Ha k�rd�sed, vagy megjegyz�sed van ezzel a dokumentummal kapcsolatban, k�rlek ne habozz levelet k�ldeni Thorsten Kukuknak a kukuk@linux-nis.org 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.
Byron A Jeff <byron@cc.gatech.edu> Markus Rex <msrex@suse.de> Miquel van Smoorenburg <miquels@cistron.nl> Dan York <dyork@lodestar2.com> Christoffer Bromberg <christoffer@web.de> |
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.
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." |
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.
# # 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:
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.
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 |
ypserver 10.10.0.1 ypserver 10.0.100.8 ypserver 10.3.1.1 |
/bin/domainname nis.domain |
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 |
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.
Add hozz� a NIS kliens az /etc/passwd f�jlhoz a k�vetkez� sort:
+:::::: |
+miquels::::::: +ed::::::: +dth::::::: +@sysadmins::::::: -ftp +:*::::::/etc/NoShell |
A h�l�zati csoport �gy fog kin�zni:
sysadmins (-,software,) (-,kukuk,) |
Az ypbind-et fel kell m�g telep�tened. Erre nem a libc-nek, hanem a NIS(YP) tools-nak van sz�ks�ge.
hosts: files nis dns |
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 |
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 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.
domainname nisplus.domain. nisinit -c -H <NIS+ server> |
keylogin -r |
#%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 |
hosts: files nisplus dns |
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 |
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 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 |
rpc.yppasswdd -D /etc/yp -e chsh |
rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh |
% ypcat passwd |
utas�t�snak vissza kell adnia a NIS jelsz�f�jlod tartalm�t. A
% ypmatch userid passwd |
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); } |
getent passwd |
getent passwd login |
% /usr/lib/yp/ypinit -m |
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 |
DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check |
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! |
/etc/defaultdomain |
f�jlban kell t�rolni. A legt�bb Linux disztrib�ci� nem haszn�lja ezt a f�jlt.
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.
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 |
openssl req -new -x509 -nodes -days 730 -out /etc/rpasswdd.pem -keyout /etc/rpasswdd.pem |
#%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 |
#%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 |
# 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.
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 |