Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
14 août 2011

GNU GNU/Linux configuration           Configuration du système


nsswitch.conf

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.