Hvis /etc/nsswitch.conf har:

passwd: files ldap 

denne linjen i den, og jeg gjør getent passwd vil den først løpe ned /etc/passwd listen og deretter gå gjennom hver bruker i LDAP? Det ser ut til å være hva som skjer.

Jeg prøvde det på en Red Hat-server og det rullet tusenvis av linjer når /etc/passwd bare er 36 linjer.

Kommentarer

  • Det du beskriver virker for meg helt normalt. Når du bruker LDAP, vises getent passwd alle brukere (lokal + ldap)
  • Takk, det ' er veldig mulig at det er normalt. Jeg er ganske ny på å bruke LDAP med Linux. Tidligere klarte jeg brukere som bruker et konfigurasjonsadministrasjonsverktøy.

Svar

getent vil returnere uansett resultatene for hvilken «database» du angir. Den bestemmer hvilken bakside du skal bruke når du konstruerer denne «databasen» basert på innholdet i /etc/nsswitch.conf.

getent lister opp «databaser» når du spør etter brukssiden, getent --help.

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

Så vidt jeg vet er det ingen wa y for å deaktivere atferden ved å levere alle resultatene for de forskjellige backendene som er konfigurert i /etc/nsswitch.conf.

getent og /etc/nsswitch.conf er begge en del av nss (Navnetjenestebryter).

Utdrag fra nss manside

Hvert anrop til en funksjon som henter data fra en systemdatabase som passordet eller gruppedatabasen håndteres av implementeringen av Name Service Switch i GNU C-biblioteket. De ulike tjenestene som tilbys er implementert av uavhengige moduler, som hver varierer naturlig fra den andre.

Standardimplementeringene som følger med GNU C-biblioteket er som standard konservative og bruker ikke usikre data. Dette kan være veldig kostbart i noen situasjoner, spesielt når databasene er store. Noen moduler lar systemadministratoren be om å ta snarveier hvis disse er kjent for å være trygge. Det er da systemadministratorens ansvar å sikre at antagelsen er riktig.

Det er andre moduler der implementeringen endret seg over tid. Hvis en implementering pleide å ofre hastighet for minneforbruk, kan det skape problemer hvis preferanse er byttet.

Backends

Det finnes en rekke av disse, for mange til å dekke her. Men nok å si, der er backends som sssd (sss / LDAP), NIS og NIS + for å nevne noen.

Så avhengig av hvilket system du har spesifisert i /etc/nsswitch.conf fil, vil påvirke hvilken utgang getent viser når en gitt «database» blir spurt, for eksempel getent passwd.

Referanser

Kommentarer

  • sssd-linken er død.
  • @GhostLyrics – endret lenke

Svar

Ja, hvis du bare sier getent passwd, vil den liste opp alle brukerne den kan finne i noen av databasene som er oppført i nsswitch.

Kommentarer

  • bare for NSS-leverandørene som muliggjør oppregning. For eksempel, med sss, kan du deaktivere oppregning for noen domener.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *