Wenn /etc/nsswitch.conf Folgendes hat:

passwd: files ldap 

diese Zeile darin, und ich mache getent passwd wird es zuerst die /etc/passwd herunterlaufen auflisten und dann jeden Benutzer in LDAP durchgehen? Dies scheint der Fall zu sein.

Ich habe es auf einem Red Hat-Server versucht und es wurden Tausende von Zeilen gescrollt, wenn /etc/passwd nur 36 Zeilen umfasst.

Kommentare

  • Was Sie beschreiben, erscheint mir völlig normal. Wenn Sie LDAP verwenden, wird getent passwd aufgelistet Alle Benutzer (lokal + ldap)
  • Vielen Dank, ' ist es sehr wahrscheinlich, dass es normal ist. Ich bin ziemlich neu in der Verwendung von LDAP unter Linux. Zuvor habe ich es geschafft Benutzer, die ein Konfigurationsverwaltungsprogramm verwenden.

Antwort

getent gibt basierend auf dem Inhalt von /etc/nsswitch.conf.

getent listet die „Datenbanken“ auf, wenn Sie die Verwendungsseite abfragen, getent --help.

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

Meines Wissens gibt es kein wa y, um das Verhalten zu deaktivieren, alle Ergebnisse für die verschiedenen Backends bereitzustellen, die in /etc/nsswitch.conf konfiguriert sind.

getent und /etc/nsswitch.conf sind beide Teil des nss (Name Service Switch).

Auszug aus der nss-Manpage

Jeder Aufruf einer Funktion, die Daten aus einer Systemdatenbank wie dem Kennwort oder der Gruppendatenbank abruft, wird von der Implementierung des Name Service Switch in der GNU C-Bibliothek verarbeitet. Die verschiedenen bereitgestellten Dienste werden von unabhängigen Modulen implementiert, von denen jedes natürlich stark voneinander abweicht.

Die mit der GNU C-Bibliothek gelieferten Standardimplementierungen sind standardmäßig konservativ und verwenden keine unsicheren Daten. Dies kann in einigen Situationen sehr kostspielig sein, insbesondere wenn die Datenbanken groß sind. Bei einigen Modulen kann der Systemadministrator die Verwendung von Verknüpfungen anfordern, wenn diese als sicher bekannt sind. Es liegt dann in der Verantwortung des Systemadministrators, sicherzustellen, dass die Annahme korrekt ist.

Es gibt andere Module, in denen sich die Implementierung im Laufe der Zeit geändert hat. Wenn eine Implementierung verwendet wird, um die Geschwindigkeit für den Speicherverbrauch zu opfern, kann dies zu Problemen führen, wenn die Die Präferenz wird gewechselt.

Backends

Es gibt eine Vielzahl von diesen, zu viele, um sie hier abzudecken sind Backends wie sssd (sss / LDAP), NIS und NIS +, um nur einige zu nennen.

Je nachdem, was Ihr System in Ihrem /etc/nsswitch.conf beeinflusst, welche Ausgabe getent anzeigt, wenn eine bestimmte „Datenbank“ abgefragt wird, z. B. getent passwd.

Referenzen

Kommentare

  • Der sssd-Howto-Link ist tot.
  • @GhostLyrics – geänderter Link

Antwort

Ja, wenn Sie nur getent passwd sagen, werden alle Benutzer aufgelistet, die in einer der in nsswitch aufgelisteten Datenbanken gefunden werden können.

Kommentare

  • nur für die NSS-Anbieter, die die Aufzählung aktivieren. Mit sss können Sie beispielsweise die Aufzählung für einige Domänen deaktivieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.