Dacă /etc/nsswitch.conf are:

passwd: files ldap 

această linie în ea și fac getent passwd va rula mai întâi /etc/passwd lista și apoi parcurgeți fiecare utilizator din LDAP? Se pare că așa se întâmplă.

Am încercat-o pe un server Red Hat și derula mii de linii când /etc/passwd are doar 36 de linii.

Comentarii

  • Ceea ce descrii mi se pare perfect normal. Când folosești LDAP, getent passwd va afișa toți utilizatorii (local + ldap)
  • Mulțumesc, este foarte posibil ca ' să fie normal. Sunt destul de nou în utilizarea LDAP cu Linux. Anterior am reușit utilizatorii care utilizează un utilitar de gestionare a configurației.

Răspuns

getent va returna oricare ar fi rezultatele pentru orice „bază de date” pe care o specificați. Determină ce backend-uri trebuie utilizate atunci când construiți această „bază de date” pe baza conținutului /etc/nsswitch.conf.

getent afișează „bazele de date” ale acestuia atunci când interogați pagina de utilizare, getent --help.

Supported databases: ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups netgroup networks passwd protocols rpc services shadow 

Din câte știu eu, nu există wa y pentru a dezactiva comportamentul său de a furniza toate rezultatele pentru diferitele backend-uri care sunt configurate în /etc/nsswitch.conf.

getent și /etc/nsswitch.conf ambele fac parte din nss (Comutator de serviciu de nume).

Extras din pagina de manual nss

Fiecare apel către o funcție care preia date dintr-o bază de date de sistem, cum ar fi parola sau baza de date de grup, este gestionată de implementarea Name Service Switch din biblioteca GNU C. Diferitele servicii furnizate sunt implementate de module independente, fiecare dintre acestea diferă în mod natural foarte mult de celelalte.

Implementările implicite care vin cu biblioteca GNU C sunt în mod implicit conservatoare și nu utilizează date nesigure. Acest lucru ar putea fi foarte costisitor în unele situații, mai ales atunci când bazele de date sunt mari. Unele module permit administratorului de sistem să solicite accesarea comenzilor rapide, dacă se știe că acestea sunt sigure. Atunci este responsabilitatea administratorului de sistem să se asigure că presupunerea este corectă.

Există alte module în care implementarea s-a schimbat în timp. Dacă o implementare a sacrificat viteza pentru consumul de memorie, ar putea crea probleme dacă preferința este schimbată.

Backends

Există o varietate de acestea, prea multe pentru a fi acoperite aici. Dar este suficient să spunem, acolo sunt backend-uri precum sssd (sss / LDAP), NIS și NIS + pentru a numi câteva.

Deci, în funcție de sistemul pe care l-a specificat în /etc/nsswitch.conf, va influența ceea ce afișează ieșirea getent atunci când este interogată o anumită „bază de date”, cum ar fi getent passwd.

Referințe

Comentarii

  • Link-ul sssd howto este mort.
  • @GhostLyrics – link modificat

Răspunde

Da, dacă spuneți doar getent passwd, acesta va lista toți utilizatorii pe care îi poate găsi în oricare dintre bazele de date listate în nsswitch.

Comentarii

  • numai pentru furnizorii NSS care permit enumerarea. De exemplu, cu sss, puteți dezactiva enumerarea pentru unele domenii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *