nsswitch.conf(5) File Formats Manual nsswitch.conf(5) NOM nsswitch.conf - Fichier de configuration du service de noms (<< Name Service Switch >>) DESCRIPTION Le fichier de configuration du service de noms (<< Name Service Switch >> ou NSS), /etc/nsswitch.conf, est utilise par la bibliotheque C de GNU et d'autres applications pour determiner les sources a partir desquelles obtenir les renseignements de service de noms en fonction des categories et dans quel ordre. Chaque categorie de renseignement est identifiee par un nom de base de donnees. Le fichier est en texte ASCII, avec les colonnes separees par des espaces ou des tabulations. La premiere colonne indique le nom de la base de donnees. Les autres colonnes decrivent les sources, dans l'ordre des requetes a realiser, et un ensemble limite d'actions possibles en fonction du resultat de la resolution. Les bases de donnees suivantes sont comprises par la bibliotheque C de GNU : aliases Alias d'adresses electroniques, utilises par getaliasent(3) et les fonctions apparentees. ethers Numeros Ethernet. group Groupes d'utilisateurs, utilises par getgrent(3) et les fonctions apparentees. hosts Noms d'hotes et leurs adresses, utilises par gethostbyname(3) et les fonctions apparentees. initgroups Liste d'acces a des groupes supplementaires utilisee par la fonction getgrouplist(3). netgroup Liste d'hotes et d'utilisateurs valable pour l'ensemble du reseau, servant a etablir les regles d'acces. Les bibliotheques C anterieures a la glibc 2.1 ne geraient les groupes reseau qu'avec NIS. networks Noms et masques de reseau, utilises par getnetent(3) et les fonctions apparentees. passwd Mots de passe des utilisateurs, utilises par getpwent(3) et les fonctions apparentees. protocols Protocoles reseau, utilises par getprotoent(3) et les fonctions apparentees. publickey Cles publiques et privees des << secure_RPC >>, utilisees par NFS et NIS+. rpc Noms et numeros de RPC, utilises par getrpcbyname(3) et les fonctions apparentees. services Services reseau, utilises par getservent(3) et les fonctions apparentees. shadow Mots de passe caches des utilisateurs utilises par getspnam(3) et les fonctions apparentees. La bibliotheque GNU C ignore les bases de donnees avec des noms inconnus. Certaines applications utilisent cela pour mettre en oeuvre une gestion speciale pour leur propre base de donnees. Par exemple, sudo(8) consulte la base de donnees sudoers. La delegation d'ID utilisateur/groupe subalternes peut etre configuree en utilisant la base de donnees subid. Consulter subuid(5) et subgid(5) pour plus de details. Voici un exemple de fichier /etc/nsswitch.conf : passwd: compat group: compat shadow: compat hosts: dns [!UNAVAIL=return] files networks: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files services: nis [NOTFOUND=return] files La premiere colonne est le nom de la base de donnees. Les autres colonnes indiquent : - une ou plusieurs specifications de service, par exemple << files >>, << db >> ou << nis >>. L'ordre des services sur la ligne indique l'ordre dans lequel les requetes seront realisees sur ces services, tour a tour, jusqu'a ce qu'un resultat soit obtenu ; - des actions facultatives a realiser si un resultat particulier est obtenu du service precedent, par exemple << [NOTFOUND=return] >>. Les specifications de service prises en charge sur le systeme dependent de la presence de bibliotheques partagees, et sont par consequent evolutives. Les bibliotheques appelees /lib/libnss_SERVICE.so.X fourniront le SERVICE indique. Sur une installation de base, << files >>, << db >>, << nis >> et << nisplus >> sont utilisables. Pour la base de donnees hosts, << dns >> peut aussi etre indique. Pour les bases de donnees passwd, group et shadow, << compat >> peut aussi etre indique (consulter Mode de compatibilite ci-dessous). Le numero de version X peut etre 1 pour la glibc 2.0 ou 2 pour la glibc 2.1 et les versions ulterieures. Sur les systemes avec des bibliotheques supplementaires installees, d'autres services peuvent etre disponibles comme << hesiod >>, << ldap >>, << winbind >> et << wins >>. Une action peut aussi etre indiquee apres une specification de service. L'action modifie le comportement apres un resultat obtenu de la source de donnees precedente. Les actions sont designees sous la forme generale : [ETAT=ACTION] [!ETAT=ACTION] ou ETAT => success | notfound | unavail | tryagain ACTION => return | continue | merge Le ! inverse le resultat du test, en correspondant a tous les resultats possibles sauf celui indique. La casse des mots-cles n'est pas importante. La valeur ETAT est comparee au resultat de la fonction de resolution appelee par la specification de service precedente et fait partie des valeurs suivantes. success Aucune erreur ne s'est produite, et la donnee demandee a ete trouvee. L'action par defaut pour cette condition est << return >>. notfound La resolution a reussi, mais la donnee demandee n'a pas ete trouvee. L'action par defaut pour cette condition est << continue >>. unavail Le service est indisponible de maniere permanente. Cela peut indiquer que le fichier necessaire n'est pas lisible, ou, pour les services reseau, que le serveur n'est pas disponible ou n'accepte pas les requetes. L'action par defaut pour cette condition est << continue >>. tryagain Le service est temporairement indisponible. Cela signifie qu'un fichier est verrouille ou qu'un serveur ne peut pas actuellement accepter davantage de connexions. L'action par defaut pour cette condition est << continue >>. La valeur ACTION fait partie des valeurs suivantes. return Renvoyer un resultat maintenant. Ne pas appeler d'autre fonction de resolution. Cependant, pour des raisons de compatibilite, si c'est l'action selectionnee pour la base de donnees group et l'etat notfound, et que le fichier de configuration ne contient pas la ligne initgroups, la fonction de resolution suivante est toujours appelee sans affecter le resultat de recherche. continue Appeler la fonction de resolution suivante. merge [SUCCESS=merge] est utilise entre deux enregistrements de base de donnees. Quand un groupe est situe dans le premier des deux enregistrements de groupe, le traitement continue dans le groupe suivant. Si le groupe est aussi trouve dans l'enregistrement suivant (et que le nom de groupe et le GID correspondent exactement), la liste de membres du second enregistrement est ajoutee a l'objet de groupe a renvoyer. Disponible depuis la glibc 2.24. Il est a remarquer que la fusion ne sera pas faite pour getgrent(3) et que les membres dupliques ne seront pas supprimes quand ils apparaissent dans les deux enregistrements fusionnes. Mode de compatibilite (compat) Le service NSS << compat >> ressemble a << files >>, a la difference qu'il utilise en plus des entrees particulieres de /etc/passwd pour permettre aux utilisateurs ou membres de groupes reseau d'acceder au systeme. Les entrees suivantes sont valables dans ce mode. Pour les bases de donnees passwd et shadow : +utilisateur Inclure l'utilisateur indique depuis la carte passwd/shadow NIS. +@groupe_reseau Inclure tous les utilisateurs du groupe_reseau donne. -utilisateur Exclure l'utilisateur indique de la carte passwd/shadow NIS. -@groupe_reseau Exclure tous les utilisateurs du groupe_reseau donne. + Inclure tous les utilisateurs, sauf ceux exclus precedemment, depuis la carte passwd/shadow NIS. Pour la base de donnees group : +groupe Inclure le groupe indique depuis la carte group NIS. -groupe Exclure le groupe indique de la carte group NIS. + Inclure tous les utilisateurs, sauf ceux exclus precedemment, depuis la carte group NIS. La source est << nis >> par defaut, mais cela peut etre ecrase en indiquant n'importe quel service NSS excepte << compat >> comme source des pseudobases de donnees passwd_compat, group_compat et shadow_compat. FICHIERS Un service appele SERVICE est implemente par une bibliotheque objet partagee appelee libnss_SERVICE.so.X qui se trouve dans /lib. /etc/nsswitch.conf fichier de configuration de NSS. /lib/libnss_compat.so.X implemente la source << compat >>. /lib/libnss_db.so.X implemente la source << db >>. /lib/libnss_dns.so.X implemente la source << dns >>. /lib/libnss_files.so.X implemente la source << files >>. /lib/libnss_hesiod.so.X implemente la source << hesoid >>. /lib/libnss_nis.so.X implemente la source << nis >>. /lib/libnss_nisplus.so.X implemente la source << nisplus >>. Les fichiers suivants sont lus quand la source << files >> est specifiee pour leurs bases de donnees respectives : aliases /etc/aliases ethers /etc/ethers group /etc/group hosts /etc/hosts initgroups /etc/group netgroup /etc/netgroup networks /etc/networks passwd /etc/passwd protocols /etc/protocols publickey /etc/publickey rpc /etc/rpc services /etc/services shadow /etc/shadow NOTES A partir de la glibc 2.33, nsswitch.conf est automatiquement recharge si le fichier est modifie. Dans les versions precedentes, le fichier n'etait lu en entier qu'une seule fois dans chaque processus. Si le fichier etait modifie par la suite, le processus continuait d'utiliser l'ancienne configuration. A l'origine, il n'y avait qu'une seule source pour les renseignements de service, souvent sous forme d'un simple fichier de configuration (par exemple, /etc/passwd). Cependant, puisque d'autres services de noms, comme NIS (<< Network Information Service >>) et DNS (<< Domain Name Service >>) etaient devenus populaires, une methode plus flexible etait devenue necessaire pour corriger les ordres de recherche codes dans la bibliotheque C. Le mecanisme NSS (<< Name Service Switch >>), qui etait base sur le mecanisme utilise par Sun Microsystems dans la bibliotheque C de Solaris 2, a introduit une solution plus propre au probleme. VOIR AUSSI getent(1), nss(5) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 nsswitch.conf(5)