Jos /etc/nsswitch.conf
on:
passwd: files ldap
tämä rivi siinä, ja teen getent passwd
ajonko se ensin /etc/passwd
luettelon ja käydä sitten läpi kaikki käyttäjät LDAP: ssä? Näyttää siltä, mitä tapahtuu.
Kokeilin sitä Red Hat -palvelimella ja se vieritti tuhansia rivejä, kun /etc/passwd
on vain 36 riviä.
Kommentit
Vastaa
getent
palauttaa minkä tahansa määrittelemäsi ”tietokannan” tulokset riippumatta. Se määrittää, mitä taustoja käytetään tämän ”tietokannan” rakentamisessa /etc/nsswitch.conf
-sisällön perusteella.
getent
listaa sen ”tietokannat”, kun kysyt sen käyttö sivulta, getent --help
.
Supported databases: ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups netgroup networks passwd protocols rpc services shadow
Tietääkseni ei ole wa y poistaa käytöstä sen, että kaikki tulokset annetaan eri taustalevyille, jotka on määritetty kohdassa /etc/nsswitch.conf
.
getent
ja /etc/nsswitch.conf
ovat molemmat osa nss: ää (nimipalvelukytkin).
Ote nss: n man sivulta
Jokainen kutsu toiminnolle, joka noutaa tietoja järjestelmätietokannasta, kuten salasana tai ryhmätietokanta, hoidetaan nimipalvelukytkimen toteutuksella GNU C -kirjastossa. Erilaiset tarjoamat palvelut toteutetaan itsenäisillä moduuleilla, joista kukin eroaa luonnollisesti suuresti toisistaan.
GNU C -kirjaston mukana toimitetut oletusasetukset ovat oletusarvoisesti konservatiivisia eivätkä käytä vaarallisia tietoja. Tämä voi olla erittäin kallista joissakin tilanteissa, varsinkin kun tietokannat ovat suuria. Joissakin moduuleissa järjestelmänvalvoja voi pyytää pikavalintoja, jos niiden tiedetään olevan turvallisia. Tällöin järjestelmänvalvojan vastuulla on varmistaa, että oletus on oikea.
On muitakin moduuleja, joissa toteutus muuttui ajan myötä. Jos toteutus käytti uhraamaan nopeuden muistin kulutukseen, se saattaa aiheuttaa ongelmia, jos etusija on vaihdettu.
Taustaohjelmat
Näitä on monia, liian monta kattamaan täällä. Mutta riittää sanomaan, että ovat taustoja, kuten sssd
(sss / LDAP), NIS ja NIS + muutamia mainitakseni.
Joten riippuen siitä, mikä järjestelmäsi on määrittänyt /etc/nsswitch.conf
-tiedosto vaikuttaa siihen, mitä tuloste getent
näyttää, kun tietylle ”tietokannalle” kysytään, kuten getent passwd
.
Viitteet
Kommentit
- sssd-linkki on kuollut.
- @GhostLyrics – muutettu linkki
Vastaa
Kyllä, jos sanot vain getent passwd
, siinä luetellaan kaikki käyttäjät, jotka se voi löytää mistä tahansa nsswitch-luettelossa olevasta tietokannasta.
Kommentit
- vain NSS-palveluntarjoajille, jotka mahdollistavat luettelon. Esimerkiksi
sss
-sovelluksella voit poistaa luettelon käytöstä joillakin verkkotunnuksilla.
getent passwd
näyttää kaikki käyttäjät (paikallinen + ldap)