Pokud /etc/nsswitch.conf má:

passwd: files ldap 

tento řádek a já getent passwd nejprve spustím /etc/passwd seznam a poté projít každého uživatele v LDAP? Zdá se, že k tomu dochází.

Zkoušel jsem to na serveru Red Hat a roloval tisíce řádků, když /etc/passwd má pouze 36 řádků.

Komentáře

  • To, co popisujete, se mi zdá naprosto normální. Když používáte LDAP, zobrazí se seznam getent passwd všichni uživatelé (místní + ldap)
  • Díky, ' je velmi možné, že je to normální. V používání LDAP s Linuxem jsem docela nový. Dříve jsem spravoval uživatelé, kteří používají obslužný program pro správu konfigurace.

Odpověď

getent vrátí výsledky bez ohledu na to, kterou „databázi“ zadáte. Určuje, jaké backendy se použijí při konstrukci této „databáze“ na základě obsahu /etc/nsswitch.conf.

getent vypíše své „databáze“ při dotazu na jeho stránku použití, getent --help.

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

Pokud je mi známo, neexistuje wa y deaktivovat jeho chování poskytování všech výsledků pro různé backendy, které jsou konfigurovány v /etc/nsswitch.conf.

getent a /etc/nsswitch.conf jsou oba součástí nss (Name Service Switch).

Výňatek z man stránky nss

Každé volání funkce, která načítá data ze systémové databáze, jako je databáze hesel nebo skupin, je zpracována implementací přepínače jmenných služeb v knihovně GNU C. Různé poskytované služby jsou implementovány nezávislými moduly, z nichž každý se přirozeně velmi liší od ostatních.

Výchozí implementace přicházející s knihovnou GNU C jsou standardně konzervativní a nepoužívají nebezpečná data. To může být v některých situacích velmi nákladné, zvláště když jsou databáze velké. Některé moduly umožňují správci systému požádat o převzetí zkratek, pokud je známo, že jsou bezpečné. Poté je odpovědností správce systému zajistit, aby byl předpoklad správný.

Existují i jiné moduly, u kterých se implementace časem měnila. Pokud by implementace obětovala rychlost spotřeby paměti, mohla by způsobit problémy, pokud preference je přepnuta.

Backends

Existuje celá řada z nich, příliš mnoho na to, abychom je zde mohli pokrýt. jsou backendy jako sssd (sss / LDAP), NIS a NIS +, abychom jmenovali alespoň některé.

Takže podle toho, co váš systém ve vašem /etc/nsswitch.conf soubor, bude mít vliv na to, jaký výstup getent zobrazí při dotazování na danou „databázi“, například getent passwd.

Reference

Komentáře

  • Odkaz sssd howto je mrtvý.
  • @GhostLyrics – změněný odkaz

Odpovědět

Ano, pokud řeknete getent passwd, zobrazí seznam všech uživatelů, které najde v libovolné databázi uvedené v nsswitch.

Komentáře

  • pouze pro poskytovatele NSS, kteří umožňují výčet. Například pomocí sss můžete u některých domén deaktivovat výčet.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *