Si /etc/nsswitch.conf a:

passwd: files ldap 

cette ligne dedans, et je fais getent passwd va-t-elle dabord parcourir le /etc/passwd liste et puis passez par chaque utilisateur dans LDAP? Cela semble être ce qui se passe.

Je lai essayé sur un serveur Red Hat et il faisait défiler des milliers de lignes alors que /etc/passwd ne faisait que 36 lignes.

Commentaires

  • Ce que vous décrivez me semble tout à fait normal. Lorsque vous utilisez LDAP, getent passwd listera tous les utilisateurs (local + ldap)
  • Merci, il est ' très possible que ce soit normal. Je suis assez nouveau dans lutilisation de LDAP avec Linux. Auparavant, je gérais utilisateurs utilisant un utilitaire de gestion de configuration.

Réponse

getent retournera quels que soient les résultats pour la « base de données » que vous spécifiez. Il détermine les backends à utiliser lors de la construction de cette « base de données » en fonction du contenu de /etc/nsswitch.conf.

getent répertorie ses « bases de données » lorsque vous interrogez sa page dutilisation, getent --help.

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

À ma connaissance, il ny a pas de wa y pour désactiver son comportement de fournir tous les résultats pour les différents backends configurés dans /etc/nsswitch.conf.

getent et /etc/nsswitch.conf font tous deux partie du nss (Name Service Switch).

Extrait de la page de manuel nss

Chaque appel à une fonction qui récupère des données à partir dune base de données système comme le mot de passe ou la base de données de groupe est géré par limplémentation de Name Service Switch dans la bibliothèque GNU C. Les différents services fournis sont implémentés par des modules indépendants, dont chacun varie naturellement largement les uns des autres.

Les implémentations par défaut fournies avec la bibliothèque GNU C sont par défaut conservatrices et nutilisent pas de données non sécurisées. Cela peut être très coûteux dans certaines situations, en particulier lorsque les bases de données sont volumineuses. Certains modules permettent à ladministrateur système de demander des raccourcis si ceux-ci sont connus pour être sûrs. Il incombe alors à ladministrateur système de sassurer que lhypothèse est correcte.

Dans dautres modules, limplémentation a changé au fil du temps. Si une implémentation utilisé pour sacrifier la vitesse pour la consommation de mémoire, cela peut créer des problèmes si le la préférence est changée.

Backends

Il y en a une variété, trop nombreux à couvrir ici. Mais il suffit de dire, là sont des backends tels que sssd (sss / LDAP), NIS et NIS + pour nen nommer que quelques-uns.

Donc, selon ce que votre système a spécifié dans votre /etc/nsswitch.conf, influencera la sortie getent quand une « base de données » donnée est interrogée, comme getent passwd.

Références

Commentaires

  • Le lien sssd howto est mort.
  • @GhostLyrics – lien modifié

Réponse

Oui, si vous dites simplement getent passwd, il listera tous les utilisateurs quil peut trouver dans lune des bases de données répertoriées dans nsswitch.

Commentaires

  • uniquement pour les fournisseurs NSS qui activent lénumération. Par exemple, avec sss, vous pouvez désactiver lénumération pour certains domaines.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *