Aperçu
getent recherche des informations dans diverses bases de données telles que les utilisateurs, les groupes et les hôtes, conformément à la configuration du Name Service Switch (NSS) du système. Il peut récupérer des informations non seulement à partir de fichiers locaux (/etc/passwd, /etc/group, etc.), mais aussi à partir de services basés sur le réseau (NIS, LDAP, etc.), ce qui est utile pour vérifier comment le système interprète et utilise des informations spécifiques.
Caractéristiques principales
- Interrogation de diverses sources de données selon la configuration NSS
- Recherche d'informations système telles que les utilisateurs, les groupes, les hôtes, les services
- Prise en charge des fichiers locaux et des services réseau (NIS, LDAP)
- Utile pour le diagnostic des informations système et l'utilisation dans les scripts
Bases de données d'interrogation principales
Types de bases de données représentatifs que vous pouvez interroger avec getent.
- passwd: Informations sur les comptes utilisateur (par exemple, /etc/passwd)
- group: Informations sur les groupes (par exemple, /etc/group)
- hosts: Informations sur les noms d'hôtes et les adresses IP (par exemple, /etc/hosts, DNS)
- services: Services réseau et numéros de port (par exemple, /etc/services)
- protocols: Informations sur les protocoles réseau (par exemple, /etc/protocols)
- networks: Informations sur les noms et adresses réseau (par exemple, /etc/networks)
Options principales
La commande getent utilise principalement le nom de la base de données et la clé d'interrogation comme arguments, mais elle offre également quelques options utiles.
Contrôle de l'interrogation
Commande générée :
Essayez de combiner les commandes.
Description:
`getent` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Exemples d'utilisation de la commande getent pour interroger diverses informations système.
Afficher la liste de tous les utilisateurs
getent passwd
Affiche les informations de tous les comptes utilisateur enregistrés sur le système.
Afficher les informations d'un utilisateur spécifique
getent passwd root
Affiche les informations du compte pour un nom d'utilisateur spécifié (par exemple, 'root').
Afficher la liste de tous les groupes
getent group
Affiche les informations de tous les groupes enregistrés sur le système.
Afficher les informations d'un groupe spécifique
getent group sudo
Affiche les informations pour un nom de groupe spécifié (par exemple, 'sudo').
Interroger l'adresse IP à partir du nom d'hôte
getent hosts google.com
Affiche les informations d'adresse IP pour un nom d'hôte spécifié (par exemple, 'google.com'). Suit la configuration DNS.
Interroger le nom d'hôte à partir de l'adresse IP
getent hosts 8.8.8.8
Interroge inversement les informations de nom d'hôte pour une adresse IP spécifiée (par exemple, '8.8.8.8').
Interroger le numéro de port d'un service spécifique
getent services ssh
Affiche le numéro de port et les informations de protocole pour un service spécifié (par exemple, 'ssh').
Interroger les informations utilisateur uniquement à partir des fichiers
getent -s files passwd
Interroge les informations utilisateur uniquement à partir des fichiers locaux tels que /etc/passwd en spécifiant la source NSS comme 'files'.
Conseils et précautions
Conseils et précautions pour utiliser la commande getent plus efficacement.
Comprendre le fichier de configuration NSS
getent interroge les sources de données dans l'ordre défini dans le fichier `/etc/nsswitch.conf`. Il est important de comprendre l'ordre dans lequel le système recherche les informations en consultant ce fichier. Par exemple, `passwd: files systemd` signifie qu'il faut d'abord vérifier les fichiers locaux (`/etc/passwd`), puis rechercher les informations utilisateur via le service `systemd`.
Conseils d'utilisation
- **Diagnostic des problèmes réseau :** Vous pouvez utiliser `getent hosts` pour diagnostiquer des problèmes de configuration DNS ou NIS.
- **Validation des utilisateurs/groupes dans les scripts :** Utile pour vérifier si un utilisateur ou un groupe spécifique existe sur le système dans les scripts.
- **Différence avec la commande `id` :** La commande `id` affiche les informations UID/GID et les groupes d'appartenance de l'utilisateur actuellement connecté ou d'un utilisateur spécifié, tandis que `getent passwd` interroge les informations détaillées de tous les comptes utilisateur enregistrés sur le système via NSS.