# nsswitch.conf
Fichier de configuration pour la gestion des services de nom
Les bases de données suivantes sont disponibles:
**aliases** alias de messagerie, utilisé par sendmail
**ethers** Numéros ethernet
**group** groupes d'utilisateurs, utilisé par getgrent(3)
**hosts** Noms d'hôtes et numéros, utilisé par gethostbyname(3) et
similaires
**netgroup** liste d'hôtes et d'utilisateurs, utilisé pour les règles
d'accès, NIS uniquement
**networks** noms réseaux et numéros, utilisés par getnetent(3)
**passwd** mots de passe utilisateurs, utilisé par getpwent(3)
**protocols** protocoles réseaux, utilisés par getprotoent(3)
**publickey** clés publiques et secret pour Secure\_RPC utilisé par NFS
et NIS+
**rpc** Noms et valeurs RPC, utilisé par getrpcbyname(3)
**services** services réseaux, utilisé par getservent(3)
**shadow** mots de passe utilisateurs, utilisés par getspnam(3)
Exemple de nsswitch.con par
défaut:
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 première colonne est la base de données. Le reste de la ligne
spécifie le processus de recherche. Vous pouvez spécifier le
fonctionnement pour chaque base de données. La configuration pour chaque
base de données peut contenir 2 éléments différents: la spécification du
service et la réaction de la recherche.
La syntaxe de la réaction de recherche est la
suivante:
'\[' ( ' \!' ? STATUS '=' ACTION )+ '\]'
**STATUS** = success | notfound | unavail | tryagain
**ACTION** = return | continue
**success** Aucune erreur ne s'est produit et l'entrée désirée est
retournée (défaut : return)
**notfound** le processus de recherche fonctionne mais la valeur
recherchée n'a pas été trouvée (défaut : continue)
**unavail** le service est indisponible de manière permanente. Cela peut
être un fichier non disponible, ou pour DNS, le serveur non disponible
ou une requête non permise. (Défaut : continue)
**tryagain** Le service est temporairement indisponible. Cela peut être
un fichier bloqué ou un serveur saturé (défaut : continue)
## Intéraction avec le mode compat
libc5 sans NYS n'a pas de nss mais permet certains contrôles de
stratégie. Dans /etc/passwd vous pouvez avoir des entrées sous la forme
**+user** ou **+@netgroup** (inclut l'utilisateur spécifié depuis la map
NIS passwd), **-user** ou **-@netgroup** (exclut l'utilisateur
spécifié), et **+** (inclus tous les utilisateurs, excepté ceux
exclus).
Vous pouvez écraser certains champs passwd pour un utilisateur
particulier depuis la map NIS passwd en utilisant la forme étendue
**+user :: :: ::** dans **/etc/passwd**. Les champs non vides écrasent
les informations dans la map NIS passwd. Vu que la plupart des personnes
placent un **+** à la fin de **/etc/passwd** pour inclure tout le monde
depuis NIS, le switch fournit une alternative plus rapide pour ce cas
(**passwd : files nis**) qui ne requière pas le simple **+** dans
**/etc/passwd**, **/etc/group** et **/etc/shadow**. Si ce n'est pas
suffisant, le service compat fournit une sémantique **+/-** complète.
Par défaut, la source **nis** est utilisée, mais peut être changé en
spécifiant **nisplus** comme source pour la pseudo base de données
**passwd\_compat, group\_compat** et **shadow\_compat**. Ces pseudos
bases de données sont uniquement disponibles dans la librairie GNU C.
## Fichiers
Un service nommé SERVICE est implémenté par une librairie d'objet
partagée nommée **libnss\_SERVICE.so.X** qui est dans /lib.
**/etc/nsswitch.conf** Fichier de configuration
**/lib/libnss\_compat.so.X** implémente compat
**/lib/libnss\_db.so.X** implémente db
**/lib/libnss\_dns.so.X** implémente dns
**/lib/libnss\_files.so.X** implémente files
**/lib/libnss\_hesiod.so.X** implémente hesiod
**/lib/libnss\_nis.so.X** implémente nis
**/lib/libnss\_nisplus.so.2** implémente nisplus
## Notes
Pour chaque processus utilisant nsswitch.conf, le fichier entier est
lu une seule fois.