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)