Linia nis (yp)

Pentru a răspunde la această întrebare, ar trebui să luați în considerare două cazuri:

  1. Mașina dvs. face parte dintr-o rețea care are deja servere NIS
  2. Încă nu aveți servere NIS în rețea
În primul caz, ai nevoie doar de programele client (ypbind, ypwhich, ypcat, yppoll, ypmatch). Cel mai important program este ypbind. Acest program trebuie să ruleze întotdeauna, ar trebui să fie mereu în lista de procese. Acest program este un demon și trebuie să fi rulat la pornirea sistemului (de exemplu, /etc/init.d/nis fișiere, /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, / etc / rc. locale). Odată ce daemonul ypbind rulează pe sistemul dvs., acesta devine un client NIS.

Există și o altă implementare liberă a serverului NIS, numită "yps", scrisă de Tobias Reber din Germania, care nu susține conceptul master-slave și are alte limitări și nu a fost susținută de mult timp.







bibliotecă de sistem „/usr/lib/libc.a“ (versiunea 4.4.2 și mai mare) sau biblioteca partajată „/lib/libc.so.x“ conțin toate apelurile de sistem necesare clientului a fost compilat cu succes și serverul NIS. Pentru biblioteca GNU C 2 (2.x glibc), au nevoie de asemenea o /lib/libnsl.so.1 bibliotecă.

Unii oameni au raportat că NIS funcționează numai cu „/usr/lib/libc.a“ versiunea 4.5.21 m mai mare, așa că, dacă vrei ca totul să fie bun dintr-o dată, nu utilizați versiunea veche. Clientul NIS poate fi obținut de aici:

Când ați primit clientul, urmați instrucțiunile care vin împreună cu clientul. yp-clients 2.2 poate fi folosit atât cu libc4 cât și cu libc5 până la versiunea 5.4.20. Pentru libc 5.4.21 și glibc 2.x, aveți nevoie de yp-tools versiunea 1.4.1 sau o versiune superioară. Noi yp-tools 2.2 ar trebui să funcționeze cu orice libc Linux. Deoarece în versiunile anterioare de libc, a fost găsită o eroare în codul NIS, nu aveți nevoie de versiunile libc 5.4.21-5.4.35. Utilizați libc 5.4.36 sau o versiune superioară în locul acestora sau majoritatea programelor YP nu vor funcționa. ypbind 3.3 va funcționa și cu toate bibliotecile. Dacă utilizați gcc 2.8.x sau o versiune ulterioară, egcs sau glibc 2.x, trebuie să adăugați corecțiile ypbind-3.3-glibc5.diff pentru ypbind 3.3. Nu utilizați niciodată ypbind de la clienții yp 2.2. ypbind-mt este un nou daemon care utilizează fire (fire). El are nevoie de versiunea 2.2 a kernel-ului Linux și de glibc 2.1 sau o versiune ulterioară.

După ce ați compilat cu succes software-ul, sunteți gata să îl instalați. Cel mai bun loc pentru daemonul ypbind este directorul / usr / sbin. Unii oameni vă pot spune că nu aveți nevoie de ypbind pe sistemul NYS. Acest lucru nu este adevărat. Este necesar pentru ypwhich și ypcat.

Desigur, trebuie să instalați daemonul cu autoritatea rădăcină superuser. Alte programe (ypwhich, ypcat, yppasswd, yppoll, ypmatch) ar trebui să fie în directoare accesibile tuturor utilizatorilor, de obicei în / usr / bin.

Noile versiuni ale ypbind au un fișier de configurare numit /etc/yp.conf. Cu aceasta, puteți configura serverul NIS - pentru mai multe detalii, consultați pagina manpage ypbind (8). Acest fișier este, de asemenea, necesar pentru NYS. exemplu:

Ar fi bine sa testati ypbind-ul inainte de a il porni la pornirea sistemului. Pentru a testa ypbind, procedați în felul următor:

  • Asigurați-vă că specificați numele domeniilor YP. Dacă nu ați făcut acest lucru, rulați comanda unde nis.domain ar trebui să fie un șir în mod normal _ NOT_ al denumirii de domeniu DNS corespunzătoare a aparatului dvs.! Motivul pentru acest lucru este că, cu aceleași nume de domeniu, hackerilor din exterior le este oferită o mică oportunitate de a obține o bază de date de parole de la serverele NIS. Dacă nu știți ce nume de domeniu NIS se află în rețeaua dvs., adresați-vă administratorului / rețelei dvs. de sistem.
  • Executați "/ usr / sbin / portmap" dacă nu rulează deja.
  • Creați directorul "/ var / yp" dacă nu există.
  • Rulați "/ usr / sbin / ypbind"
  • Utilizați comanda "rpcinfo -p localhost" pentru a verifica dacă ypbind accesează înregistrarea serviciului cu portmapper. Ar trebui să obțineți: fie În funcție de versiunea ypbind pe care o utilizați.
  • Puteți rula, de asemenea, "rpcinfo -u localhost ypbind". Această comandă ar trebui să producă următoarele: sau în funcție de versiunea de ypbind instalată. Numai mesajul "versiunea 2" este important.






După aceea, ar trebui să puteți utiliza programe client NIS, cum ar fi ypcat, etc. De exemplu, "ypcat passwd.byname" vă va oferi baza de date a parolei NIS.

IMPORTANT: Dacă pierdeți procedura de testare, asigurați-vă că ați setat numele de domeniu și că ați creat directorul

Acest director TREBUIE să existe pentru a face succesul lansării ypbind.

Pentru a verifica corectitudinea setării numelui de domeniu, utilizați / bin / ypdomainname din yp-tools 2.2. Acest program utilizează funcția yp_get_default_domain (), care este mai limitată. Nu permite, de exemplu, să setați numele de domeniu "(none)", care este instalat implicit în Linux și poate crea o mulțime de probleme.

Dacă testul funcționează, puteți acum să modificați fișierele de pornire astfel încât ypbind să pornească la data încărcării și sistemul dvs. să devină un client NIS. Asigurați-vă că numele domeniului este setat înainte de a rula ypbind.

Bine. Acum reporniți mașina și vedeți mesajele emise la pornire pentru a vedea că ypbind a început cu adevărat.

Pentru a găsi nodurile, trebuie să instalați (sau să adăugați) intrarea "nis" în linia de ordine de căutare în fișierul /etc/host.conf. Vă rugăm să citiți pagina man din pagina man + resolv (8) pentru detalii.

Adăugați următoarea linie în fișierul / etc / passwd pe clienții NIS:

De asemenea, puteți utiliza simbolurile + și - pentru a adăuga / elimina sau modifica utilizatorii. Dacă doriți să excludeți utilizatorul invitat, pur și simplu adăugați -guest la fișierul / etc / passwd. Doriți să utilizați un interpret de comandă diferit (ca ksh) pentru utilizatorul "linux"? Nici o problemă, trebuie doar să adăugați "+ linux. / Bin / ksh" (fără citate) la fișierul / etc / passwd. Câmpurile pe care nu trebuie să le modificați trebuie să fie lăsate necompletate. De asemenea, puteți utiliza Netgroups pentru a gestiona utilizatorul.

Rețineți că în Linux puteți de asemenea să înlocuiți câmpul de parolă, așa cum am făcut în acest exemplu. De asemenea, am șters numele "ftp", așa că a devenit necunoscut și ftp anonim nu va funcționa.

Un grup de rețea poate arăta astfel

IMPORTANT: Abilitatea de a lucra cu un grup de rețea este implementată începând cu libc 4.5.26. Dacă aveți o versiune de libc sub 4.5.26, fiecare utilizator din baza de date a parolei NIS poate accesa mașina linux dacă executați "ypbind".

Tot ceea ce este necesar este un fișier cu setări NIS (/etc/yp.conf) cu informațiile corecte despre server (e). De asemenea, fișierul cu setările comutatorului de nume (/etc/nsswitch.conf) trebuie să fie corect instalat.

Trebuie să instalați ypbind. Acest lucru nu necesită libc, dar este necesar pentru utilitarele NIS (YP).

Dacă doriți să utilizați capabilitățile de adăugare / ștergere a utilizatorului (+/- guest / + @ admins), trebuie să utilizați "passwd: compat" și "group: compat" în fișierul nsswitch.conf. Rețineți că nu există nici o linie "shadow: compat"! Ar trebui să utilizați "shadow: files nis" în acest caz.

Sursele NYS fac parte din sursa libc 5. Când executați Configure, spune prima dată „NU“ la întrebarea „valorile corecte“, apoi „DA“ la întrebarea „Construiți un libc NYS de la NYS“.

glibc folosește "INS tradițional", deci trebuie doar să rulați ypbind. Fișierul cu setările comutatorului de nume de serviciu (/etc/nsswitch.conf) trebuie instalat corect. Dacă utilizați modul compat pentru passwd, shadow sau group, trebuie să adăugați "+" la sfârșitul acestor fișiere și puteți utiliza abilitatea de a adăuga / exclude utilizatori. Configurația este exact aceeași ca în Solaris 2.x.

Servicii comutator de fișiere /etc/nsswitch.conf determină ordinea de interogarile efectuate atunci când o anumită bucată de informații, la fel ca fișierul /etc/host.conf care determină modul în care sunt efectuate căutări gazdă. De exemplu, un șir

specifică faptul că funcțiile de căutare gazdă ar trebui să arate mai întâi în fișierul local / etc / hosts, urmate de o căutare NIS și în cele din urmă prin intermediul serviciului de nume de domeniu (/etc/resolv.conf și numit), iar în cazul în care nu se potrivesc este găsit o eroare este returnată. Acest fișier ar trebui să poată fi citit de orice utilizator! Puteți găsi mai multe informații despre nsswitch conducerea satului (5) și nsswitch.conf (5).

Un bun /etc/nsswitch.conf pentru NIS este:

passwd_compat, group_compat și shadow_compat sunt acceptate numai de glibc 2.x. Dacă nu există reguli pentru umbră în /etc/nsswitch.conf, glibc va folosi passwd pentru căutare. Pentru glibc are mai multe module pentru căutarea, cum ar fi hezoid. Pentru detalii, consultați documentația glibc.

Parolele umbrite prin NIS sunt întotdeauna o idee proastă. Pierdeți securitatea pe care o oferă parolele umbrite și, în plus, această caracteristică este acceptată numai de anumite biblioteci C din Linux. O idee bună în utilizarea parolelor umbrite cu NIS este de a pune doar utilizatorii de sistem local în / etc / shadow. Ștergeți înregistrările utilizatorilor NIS din baza de date a parolei umbrite sau plasați parolele înapoi în fișierul / etc / passwd. Puteți utiliza parola umbrei pentru utilizatorul rădăcină și parola normală pentru utilizatorul NIS. Acest lucru va funcționa cu orice client NIS.

Doar biblioteca GNU C 2.x de pe Linux suporta parole umbrite prin NIS. Linux libc5 compilat cu NYS are, de asemenea, caracteristici pentru acest lucru. Dar codul din acesta funcționează prost în unele cazuri și poate nu funcționează întotdeauna corect.

Solaris nu acceptă parole umbrite prin NIS.

PAM nu acceptă parole umbrite prin NIS, în special pam_pwdb / libpwdb. Aceasta este o problemă mare pentru utilizatorii RedHat 5.x. Dacă aveți glibc și PAM, trebuie să modificați valorile din /etc/pam.d/*. Înlocuiți toate regulile pam_pwdb cu modulele pam_unix_ *. Dar din cauza unei erori la adresa pam_unix_auth.so, aceasta nu funcționează întotdeauna.

Exemplu de fișier /etc/pam.d/login:

Pentru autorizare trebuie să utilizați pam_unix_auth.so modul pentru pam_unix_acct.so modul de cont, pentru modulul parola pam_unix_passwd.so și pam_unix_session.so modul de sesiune.







Articole similare

Trimiteți-le prietenilor: