nsswitch.conf(5) | File Formats Manual | nsswitch.conf(5) |
NUME¶
nsswitch.conf - fișierul de configurare al comutatorului de servicii de nume „Name Service Switch”
DESCRIERE¶
Fișierul de configurare al „Name Service Switch” (NSS), /etc/nsswitch.conf, este utilizat de biblioteca GNU C și de alte aplicații pentru a determina sursele din care să se obțină informații despre serviciile de nume într-o serie de categorii și în ce ordine. Fiecare categorie de informații este identificată printr-un nume de bază de date.
Fișierul este text ASCII simplu, cu coloane separate prin spații sau caractere de tabulare. Prima coloană specifică numele bazei de date. Celelalte coloane descriu ordinea surselor de interogare și un set limitat de acțiuni care pot fi efectuate de rezultatul căutării.
Următoarele baze de date sunt înțelese de biblioteca GNU C:
- aliases
- Nume-alias de poștă electronică, utilizate de getaliasent(3) și funcțiile conexe.
- ethers
- Numere de Ethernet.
- group
- Grupuri de utilizatori, utilizate de getgrent(3) și funcțiile conexe.
- hosts
- Nume și numere de gazdă, utilizate de gethostbyname(3) și funcțiile conexe.
- initgroups
- Lista suplimentară de acces la grup, utilizată de funcția getgrouplist(3).
- netgroup
- Lista de gazde și utilizatori la nivel de rețea, utilizată pentru regulile de acces. Bibliotecile C dinainte de glibc 2.1 acceptau „netgroups” numai prin NIS.
- networks
- Nume și numere de rețea, utilizate de getnetent(3) și funcțiile conexe.
- passwd
- Parolele utilizatorilor, utilizate de getpwent(3) și de funcțiile conexe.
- protocols
- Protocoale de rețea, utilizate de getprotoent(3) și funcțiile conexe.
- publickey
- Chei publice și secrete pentru Secure_RPC utilizate de NFS și NIS+.
- rpc
- Nume și numere de apel de procedură la distanță, utilizate de getrpcbyname(3) și funcțiile conexe.
- services
- Servicii de rețea, utilizate de getservent(3) și funcțiile conexe.
- shadow
- Parole „shadow” de utilizator, utilizate de getspnam(3) și funcțiile conexe.
Biblioteca GNU C ignoră bazele de date cu nume necunoscute. Unele aplicații folosesc acest lucru pentru a implementa manipulări speciale pentru propriile baze de date. De exemplu, sudo(8) consultă baza de date sudoers. Delegarea ID-urilor de utilizator/grup subordonate poate fi configurată utilizând baza de date subid. Consultați subuid(5) și subgid(5) pentru mai multe detalii.
Iată un exemplu de fișier /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 coloană este numele bazei de date. Celelalte coloane specifică:
- •
- Una sau mai multe specificații de servicii, de exemplu, „files”, „db” sau „nis”. Ordinea serviciilor pe linie determină ordinea în care serviciile respective vor fi interogate, pe rând, până când se găsește un rezultat.
- •
- Acțiuni opționale de efectuat în cazul în care se obține un anumit rezultat din serviciul precedent, de exemplu, „[NOTFOUND=return]”.
Specificațiile serviciilor acceptate în sistemul dvs. depind de prezența bibliotecilor partajate și, prin urmare, sunt extensibile. Bibliotecile numite /lib/libnss_ȘERVICIU.so.X vor furniza SERVICIUL numit. Pe o instalare standard, puteți utiliza „files”, „db”, „nis” și „nisplus”. Pentru baza de date hosts, puteți specifica în plus „dns”. Pentru bazele de date passwd, group și shadow, puteți specifica în plus „compat” (a se vedea Modul de compatibilitate mai jos). Numărul 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 să aveți acces la alte servicii, cum ar fi „hesiod”, „ldap”, „winbind” și „wins”.
O acțiune poate fi, de asemenea, specificată în urma unei specificații de serviciu. Acțiunea modifică comportamentul ca urmare a unui rezultat obținut din sursa de date anterioară. Elementele de acțiune au forma generală:
[!STARE=ACȚIUNE]
unde:
ACȚIUNE => return | continue | merge
Semnul ! anulează testul, potrivind toate rezultatele posibile, cu excepția celui specificat. Tipul caracterelor minuscule/majuscule al cuvintelor cheie nu este semnificativ.
Valoarea STĂRII este comparată cu rezultatul funcției de căutare apelată de specificația de serviciu anterioară și poate fi una dintre:
- success
- Nu s-a produs nicio eroare, iar intrarea solicitată este returnată. Acțiunea implicită pentru această condiție este „return”.
- notfound
- Căutarea a reușit, dar intrarea solicitată nu a fost găsită. Acțiunea implicită pentru această condiție este „continue”.
- Serviciul este permanent indisponibil. Aceasta poate însemna fie că fișierul solicitat nu poate fi citit, fie, în cazul serviciilor de rețea, că serverul nu este disponibil sau nu permite interogări. Acțiunea implicită pentru această condiție este „continue”.
- tryagain
- Serviciul este temporar indisponibil. Aceasta ar putea însemna că un fișier este blocat sau că un server nu mai poate accepta conexiuni. Acțiunea implicită pentru această condiție este „continue”.
Valoarea ACȚIUNII poate fi una dintre:
- return
- Returnează acum rezultatul. Nu apelează nicio altă funcție de căutare. Cu toate acestea, din motive de compatibilitate, dacă aceasta este acțiunea selectată pentru baza de date group și starea notfound, iar fișierul de configurare nu conține linia initgroups, următoarea funcție de căutare este întotdeauna apelată, fără a afecta rezultatul căutării.
- continue
- Apelează la următoarea funcție de căutare.
- merge
- [SUCCESS=merge] este utilizat între două intrări în baza de date. Atunci când un grup este localizat în prima dintre cele două intrări de grup, procesarea va continua la următoarea intrare. Dacă grupul este găsit și în următoarea intrare (iar numele grupului și GID-ul se potrivesc exact), lista membrilor din a doua intrare va fi adăugată la obiectul grup care va fi returnat. Disponibil de la glibc 2.24. Rețineți că fuzionarea nu va fi efectuată pentru getgrent(3) și nici membrii duplicați nu vor fi eliminați atunci când apar în ambele intrări care sunt fuzionate.
Modul de compatibilitate (compat)¶
Serviciul NSS „compat” este similar cu „files”, cu excepția faptului că permite în plus intrări speciale în fișierele corespunzătoare pentru a acorda utilizatorilor sau membrilor grupurilor de rețea acces la sistem. Următoarele intrări sunt valabile în acest mod:
Pentru bazele de date passwd și shadow:
- +utilizator
- Include utilizatorul specificat din tabelul passwd/shadow. NIS
- +utilizator::::::
- Include utilizatorul specificat din harta NIS passwd, dar suprascrie cu câmpuri passwd nevide.
- +@grup-rețea
- Include toți utilizatorii din grupul-de-rețea dat.
- -utilizator
- Exclude utilizatorul specificat din tabelul passwd/shadow NIS.
- -@grup-rețea
- Exclude toți utilizatorii din grupul-de-rețea dat.
- +
- Include fiecare utilizator, cu excepția celor excluși anterior, din tabelul passwd/shadow NIS.
Pentru baza de date group:
- +grup
- Include grupul specificat în tabelul grupurilor NIS.
- -grup
- Exclude grupul specificat din tabelul grupurilor NIS.
- +
- Include fiecare grup, cu excepția celor excluse anterior, din tabelul grupurilor NIS.
În mod implicit, sursa este „nis”, dar acest lucru poate fi anulat prin specificarea oricărui serviciu NSS, cu excepția lui „compat”, ca sursă pentru pseudobazele de date passwd_compat, group_compat și shadow_compat.
FIȘIERE¶
Un serviciu numit SERVICIU este implementat de o bibliotecă de obiecte partajate numită libnss_SERVICIU.so.X care se află în /lib.
- /etc/nsswitch.conf
- fișierul de configurare NSS.
- /lib/libnss_compat.so.X
- implementează sursa „compat”.
- /lib/libnss_db.so.X
- implementează sursa „dbt”.
- /lib/libnss_dns.so.X
- implementează sursa „dns”.
- /lib/libnss_files.so.X
- implementează sursa „files”.
- /lib/libnss_hesiod.so.X
- implementează sursa „hesiod”.
- /lib/libnss_nis.so.X
- implementează sursa „nis”.
- /lib/libnss_nisplus.so.X
- implementează sursa „nisplus”.
Următoarele fișiere sunt citite atunci când sursa „files” este specificată pentru bazele de date respective:
NOTE¶
Începând cu glibc 2.33, nsswitch.conf este reîncărcat automat dacă fișierul este modificat. În versiunile anterioare, întregul fișier era citit o singură dată în cadrul fiecărui proces. Dacă fișierul era modificat ulterior, procesul continua să utilizeze vechea configurație.
În mod tradițional, exista o singură sursă de informații despre servicii, adesea sub forma unui singur fișier de configurare (de exemplu, /etc/passwd). Cu toate acestea, pe măsură ce alte servicii de nume, cum ar fi Network Information Service (NIS) și Domain Name Service (DNS), au devenit populare, a fost necesară o metodă care să fie mai flexibilă decât ordinele fixe de căutare codificate în biblioteca C. Mecanismul Name Service Switch, bazat pe mecanismul utilizat de Sun Microsystems în biblioteca C Solaris 2, a introdus o soluție mai curată la această problemă.
CONSULTAȚI ȘI¶
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
2 mai 2024 | Pagini de manual de Linux 6.9.1 |