nsswitch.conf(5) File Formats Manual nsswitch.conf(5) NUME nsswitch.conf - fiierul de configurare al comutatorului de servicii de nume ,,Name Service Switch" DESCRIERE Fiierul de configurare al ,,Name Service Switch" (NSS), /etc/nsswitch.conf, este utilizat de biblioteca GNU C i de alte aplicaii pentru a determina sursele din care sa se obina informaii despre serviciile de nume intr-o serie de categorii i in ce ordine. Fiecare categorie de informaii este identificata printr-un nume de baza de date. Fiierul este text ASCII simplu, cu coloane separate prin spaii sau caractere de tabulare. Prima coloana specifica numele bazei de date. Celelalte coloane descriu ordinea surselor de interogare i un set limitat de aciuni care pot fi efectuate de rezultatul cautarii. Urmatoarele baze de date sunt inelese de biblioteca GNU C: aliases Nume-alias de pota electronica, utilizate de getaliasent(3) i funciile conexe. ethers Numere de Ethernet. group Grupuri de utilizatori, utilizate de getgrent(3) i funciile conexe. hosts Nume i numere de gazda, utilizate de gethostbyname(3) i funciile conexe. initgroups Lista suplimentara de acces la grup, utilizata de funcia getgrouplist(3). netgroup Lista de gazde i utilizatori la nivel de reea, utilizata pentru regulile de acces. Bibliotecile C dinainte de glibc 2.1 acceptau ,,netgroups" numai prin NIS. networks Nume i numere de reea, utilizate de getnetent(3) i funciile conexe. passwd Parolele utilizatorilor, utilizate de getpwent(3) i de funciile conexe. protocols Protocoale de reea, utilizate de getprotoent(3) i funciile conexe. publickey Chei publice i secrete pentru Secure_RPC utilizate de NFS i NIS+. rpc Nume i numere de apel de procedura la distana, utilizate de getrpcbyname(3) i funciile conexe. services Servicii de reea, utilizate de getservent(3) i funciile conexe. shadow Parole ,,shadow" de utilizator, utilizate de getspnam(3) i funciile conexe. Biblioteca GNU C ignora bazele de date cu nume necunoscute. Unele aplicaii folosesc acest lucru pentru a implementa manipulari speciale pentru propriile baze de date. De exemplu, sudo(8) consulta baza de date sudoers. Delegarea ID-urilor de utilizator/grup subordonate poate fi configurata utilizand baza de date subid. Consultai subuid(5) i subgid(5) pentru mai multe detalii. Iata un exemplu de fiier /etc/nsswitch.conf: passwd: compat group: compat shadow: compat hosts: dns [!UNAVAIL=return] files networks: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files services: nis [NOTFOUND=return] files Prima coloana este numele bazei de date. Celelalte coloane specifica: o Una sau mai multe specificaii de servicii, de exemplu, ,,files", ,,db" sau ,,nis". Ordinea serviciilor pe linie determina ordinea in care serviciile respective vor fi interogate, pe rand, pana cand se gasete un rezultat. o Aciuni opionale de efectuat in cazul in care se obine un anumit rezultat din serviciul precedent, de exemplu, ,,[NOTFOUND=return]". Specificaiile serviciilor acceptate in sistemul dvs. depind de prezena bibliotecilor partajate i, prin urmare, sunt extensibile. Bibliotecile numite /lib/libnss_ERVICIU.so.X vor furniza SERVICIUL numit. Pe o instalare standard, putei utiliza ,,files", ,,db", ,,nis" i ,,nisplus". Pentru baza de date hosts, putei specifica in plus ,,dns". Pentru bazele de date passwd, group i shadow, putei specifica in plus ,,compat" (a se vedea Modul de compatibilitate mai jos). Numarul versiunii X poate fi 1 pentru glibc 2.0 sau 2 pentru glibc 2.1 i ulterioare. Pe sistemele cu biblioteci suplimentare instalate, este posibil sa avei acces la alte servicii, cum ar fi ,,hesiod", ,,ldap", ,,winbind" i ,,wins". O aciune poate fi, de asemenea, specificata in urma unei specificaii de serviciu. Aciunea modifica comportamentul ca urmare a unui rezultat obinut din sursa de date anterioara. Elementele de aciune au forma generala: [STARE=ACIUNE] [!STARE=ACIUNE] unde: STARE => success | notfound | unavail | tryagain ACIUNE => return | continue | merge Semnul ! anuleaza testul, potrivind toate rezultatele posibile, cu excepia celui specificat. Tipul caracterelor minuscule/majuscule al cuvintelor cheie nu este semnificativ. Valoarea STARII este comparata cu rezultatul funciei de cautare apelata de specificaia de serviciu anterioara i poate fi una dintre: success Nu s-a produs nicio eroare, iar intrarea solicitata este returnata. Aciunea implicita pentru aceasta condiie este ,,return". notfound Cautarea a reuit, dar intrarea solicitata nu a fost gasita. Aciunea implicita pentru aceasta condiie este ,,continue". unavail Serviciul este permanent indisponibil. Aceasta poate insemna fie ca fiierul solicitat nu poate fi citit, fie, in cazul serviciilor de reea, ca serverul nu este disponibil sau nu permite interogari. Aciunea implicita pentru aceasta condiie este ,,continue". tryagain Serviciul este temporar indisponibil. Aceasta ar putea insemna ca un fiier este blocat sau ca un server nu mai poate accepta conexiuni. Aciunea implicita pentru aceasta condiie este ,,continue". Valoarea ACIUNII poate fi una dintre: return Returneaza acum rezultatul. Nu apeleaza nicio alta funcie de cautare. Cu toate acestea, din motive de compatibilitate, daca aceasta este aciunea selectata pentru baza de date group i starea notfound, iar fiierul de configurare nu conine linia initgroups, urmatoarea funcie de cautare este intotdeauna apelata, fara a afecta rezultatul cautarii. continue Apeleaza la urmatoarea funcie de cautare. merge [SUCCESS=merge] este utilizat intre doua intrari in baza de date. Atunci cand un grup este localizat in prima dintre cele doua intrari de grup, procesarea va continua la urmatoarea intrare. Daca grupul este gasit i in urmatoarea intrare (iar numele grupului i GID-ul se potrivesc exact), lista membrilor din a doua intrare va fi adaugata la obiectul grup care va fi returnat. Disponibil de la glibc 2.24. Reinei ca fuzionarea nu va fi efectuata pentru getgrent(3) i nici membrii duplicai nu vor fi eliminai atunci cand apar in ambele intrari care sunt fuzionate. Modul de compatibilitate (compat) Serviciul NSS ,,compat" este similar cu ,,files", cu excepia faptului ca permite in plus intrari speciale in fiierele corespunzatoare pentru a acorda utilizatorilor sau membrilor grupurilor de reea acces la sistem. Urmatoarele intrari sunt valabile in acest mod: Pentru bazele de date passwd i shadow: +utilizator Include utilizatorul specificat din tabelul passwd/shadow. NIS +@grup-reea Include toi utilizatorii din grupul-de-reea dat. -utilizator Exclude utilizatorul specificat din tabelul passwd/shadow NIS. -@grup-reea Exclude toi utilizatorii din grupul-de-reea dat. + Include fiecare utilizator, cu excepia celor exclui anterior, din tabelul passwd/shadow NIS. Pentru baza de date group: +grup Include grupul specificat in tabelul grupurilor NIS. -grup Exclude grupul specificat din tabelul grupurilor NIS. + Include fiecare grup, cu excepia celor excluse anterior, din tabelul grupurilor NIS. In mod implicit, sursa este ,,nis", dar acest lucru poate fi anulat prin specificarea oricarui serviciu NSS, cu excepia lui ,,compat", ca sursa pentru pseudobazele de date passwd_compat, group_compat i shadow_compat. FIIERE Un serviciu numit SERVICIU este implementat de o biblioteca de obiecte partajate numita libnss_SERVICIU.so.X care se afla in /lib. /etc/nsswitch.conf fiierul de configurare NSS. /lib/libnss_compat.so.X implementeaza sursa ,,compat". /lib/libnss_db.so.X implementeaza sursa ,,dbt". /lib/libnss_dns.so.X implementeaza sursa ,,dns". /lib/libnss_files.so.X implementeaza sursa ,,files". /lib/libnss_hesiod.so.X implementeaza sursa ,,hesiod". /lib/libnss_nis.so.X implementeaza sursa ,,nis". /lib/libnss_nisplus.so.X implementeaza sursa ,,nisplus". Urmatoarele fiiere sunt citite atunci cand sursa ,,files" este specificata pentru bazele de date respective: aliases /etc/aliases ethers /etc/ethers group /etc/group hosts /etc/hosts initgroups /etc/group netgroup /etc/netgroup networks /etc/networks passwd /etc/passwd protocols /etc/protocols publickey /etc/publickey rpc /etc/rpc services /etc/services shadow /etc/shadow NOTE Incepand cu glibc 2.33, nsswitch.conf este reincarcat automat daca fiierul este modificat. In versiunile anterioare, intregul fiier era citit o singura data in cadrul fiecarui proces. Daca fiierul era modificat ulterior, procesul continua sa utilizeze vechea configuraie. In mod tradiional, exista o singura sursa de informaii despre servicii, adesea sub forma unui singur fiier de configurare (de exemplu, /etc/passwd). Cu toate acestea, pe masura ce alte servicii de nume, cum ar fi Network Information Service (NIS) i Domain Name Service (DNS), au devenit populare, a fost necesara o metoda care sa fie mai flexibila decat ordinele fixe de cautare codificate in biblioteca C. Mecanismul Name Service Switch, bazat pe mecanismul utilizat de Sun Microsystems in biblioteca C Solaris 2, a introdus o soluie mai curata la aceasta problema. CONSULTAI I getent(1), nss(5) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 17 mai 2025 nsswitch.conf(5)