Übersicht
getent durchsucht verschiedene Datenbanken wie Benutzer, Gruppen und Hosts gemäß der Name Service Switch (NSS)-Konfiguration des Systems. Es kann Informationen nicht nur aus lokalen Dateien (/etc/passwd, /etc/group usw.), sondern auch aus netzwerkbasierten Diensten (NIS, LDAP usw.) abrufen, was nützlich ist, um zu überprüfen, wie das System bestimmte Informationen interpretiert und verwendet.
Hauptmerkmale
- Abfrage verschiedener Datenquellen gemäß NSS-Konfiguration
- Suche nach Systeminformationen wie Benutzern, Gruppen, Hosts, Diensten
- Unterstützung für lokale Dateien und Netzwerkdienste (NIS, LDAP)
- Nützlich für die Diagnose von Systeminformationen und die Verwendung in Skripten
Hauptdatenbanken für Abfragen
Dies sind repräsentative Datenbanktypen, die mit getent abgefragt werden können.
- passwd: Benutzerkontoinformationen (z. B. /etc/passwd)
- group: Gruppeninformationen (z. B. /etc/group)
- hosts: Hostnamen- und IP-Adressinformationen (z. B. /etc/hosts, DNS)
- services: Netzwerkdienste und Portnummern (z. B. /etc/services)
- protocols: Netzwerkprotokollinformationen (z. B. /etc/protocols)
- networks: Netzwerknamen und Adressinformationen (z. B. /etc/networks)
Hauptoptionen
Der Befehl getent verwendet hauptsächlich den Datenbanknamen und den Abfrageschlüssel als Argumente, bietet aber auch einige nützliche Optionen.
Abfragesteuerung
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`getent` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Beispiele für die Verwendung des Befehls getent zur Abfrage verschiedener Systeminformationen.
Alle Benutzer auflisten
getent passwd
Gibt alle auf dem System registrierten Benutzerkontoinformationen aus.
Informationen zu einem bestimmten Benutzer abfragen
getent passwd root
Gibt die Kontoinformationen für den angegebenen Benutzernamen (z. B. 'root') aus.
Alle Gruppen auflisten
getent group
Gibt alle auf dem System registrierten Gruppeninformationen aus.
Informationen zu einer bestimmten Gruppe abfragen
getent group sudo
Gibt die Informationen für den angegebenen Gruppennamen (z. B. 'sudo') aus.
IP-Adresse anhand des Hostnamens abfragen
getent hosts google.com
Gibt die IP-Adressinformationen für den angegebenen Hostnamen (z. B. 'google.com') aus. Folgt der DNS-Konfiguration.
Hostname anhand der IP-Adresse abfragen
getent hosts 8.8.8.8
Fragt die Hostnameninformationen für die angegebene IP-Adresse (z. B. '8.8.8.8') umgekehrt ab.
Portnummer eines bestimmten Dienstes abfragen
getent services ssh
Gibt die Portnummer und Protokollinformationen für den angegebenen Dienst (z. B. 'ssh') aus.
Benutzerinformationen nur aus Dateien abfragen
getent -s files passwd
Gibt Benutzerinformationen nur aus lokalen Dateien wie /etc/passwd ab, indem die NSS-Quelle explizit auf 'files' gesetzt wird.
Tipps & Hinweise
Tipps und Hinweise zur effektiveren Nutzung des Befehls getent.
Verständnis der NSS-Konfigurationsdatei
getent fragt Datenquellen in der Reihenfolge ab, in der sie in der Datei `/etc/nsswitch.conf` definiert sind. Es ist wichtig, diese Datei zu überprüfen, um zu verstehen, in welcher Reihenfolge das System Informationen abruft. Zum Beispiel bedeutet `passwd: files systemd`, dass zuerst die lokalen Dateien (`/etc/passwd`) überprüft und dann versucht wird, Benutzerinformationen über den `systemd`-Dienst zu finden.
Nützliche Tipps
- **Diagnose von Netzwerkproblemen:** Verwenden Sie `getent hosts`, um Probleme mit der DNS- oder NIS-Konfiguration zu diagnostizieren.
- **Validierung von Benutzern/Gruppen in Skripten:** Nützlich, um in Skripten zu überprüfen, ob ein bestimmter Benutzer oder eine Gruppe im System vorhanden ist.
- **Unterschied zum Befehl `id`:** Der Befehl `id` zeigt die UID/GID und die Gruppenzugehörigkeit des aktuell angemeldeten oder eines angegebenen Benutzers an, während `getent passwd` detaillierte Informationen zu allen auf dem System registrierten Benutzerkonten über NSS abruft.