NSSWITCH.CONF(5) Manuel de l'administrateur LinuxNSSWITCH.CONF(5)


NOM
       nsswitch.conf  -  Fichier  de  configuration  des bases de
       données systèmes et des services de noms.

DESCRIPTION
       Plusieurs fonctions de la bibliothèque C doivent être con­
       figurées  pour  fonctionner  correctement  dans l'environ­
       nement  local.  Traditionnellement,  cette   configuration
       était  établie  par  l'intermédiaire  de  fichiers  (comme
       `/etc/passwd'), mais de nouveaux services de résolution de
       noms  (comme  le  Network  Information Service, NIS, ou le
       Domain  Name  Service  DNS)  sont  apparus,  et  ont   été
       implémentés  dans  la  bibliothèque  C  avec  un  ordre de
       recherche fixé.

       La bibliothèque libc5 de Linux implémentant NYS et la bib­
       liothèque  C GNU (libc.so.6) fournissent une solution plus
       propre à ce problème. Elle a été construite à partir d'une
       idée  de Sun Microsystems, utilisée dans la bibliothèque C
       de Solaris 2. On a conservé leur dénomination, et ce shéma
       est  appelé  "Name Service Switch" (NSS).  Les sources des
       bases  de  données,  et  leur  ordre  de  recherche   sont
       spécifiés dans le fichier /etc/nsswitch.conf.

       Les  bases  de  données suivantes sont disponibles dans le
       NSS:

       aliases
              Les alias pour  le  courrier,  utilisés  par  send­
              mail(8).

       ethers Les numéros Ethernet.

       group  Les  groupes  d'utilisateur,  servant aux fonctions
              comme getgrent(3).

       hosts  Les noms d'hôtes et leurs  adresses,  utilisés  par
              les fonctions du type gethostbyname(3).

       netgroup
              Une  liste  d'hôte  et  d'utilisateur  servant  aux
              règles d'accès.

       network
              Les noms et les masques des réseaux,  utilisés  par
              les fonctions comme getnetent(3).

       passwd Les  mots  de  passe des utilisateurs, utilisés par
              les fonctions getpwent(3).

       protocols
              Les protocoles réseau, utilisés par getprotoent(3).





Linux                      18 Mai 1998                          1





NSSWITCH.CONF(5) Manuel de l'administrateur LinuxNSSWITCH.CONF(5)


       publickey
              Les  clés  publiques  et  privées  des  secure_rpc,
              utilisées par NIS+ et NFS.

       rpc    Les noms des procédures appelées à distance  (RPC),
              utilisés par les fonctions comme getrpcbyname(3).

       services
              Les  services  réseau,  utilisés  par les fonctions
              getservent(3).

       shadow Le fichier de dissimulation des mots de  passe  des
              utilisateurs, utilisé par getspnam(3).

       Un  exemple de fichier /etc/nsswitch.conf pourrait être le
       suivant (ce sont  les  valeurs  par  défaut  si  /etc/nss­
       witch.conf manque):

       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, comme vous vous en doutez, correspond
       à la base de données concernée, issue de la table indiquée
       plus  haut.   Le  reste  de la ligne indique la méthode de
       recherche de cette base.  On  peut  indiquer  une  méthode
       différente pour chaque base de données.

       La  configuration  de  chaque  base contient deux éléments
       différents:
       * L'indication du service, comme `files', `db' ou `nis'.
       * Le comportement à  adopter  pour  la  recherche,  comme
              `[NOT­ FOUND=return]'.

       Pour la bibliothèque libc5 avec  NYS,  les  spécifications
       possibles  pour  le  service  sont `files', `nis' et `nis­
       plus'.  Pour les noms d'hôtes, vous pouvez ajouter un ser­
       vice  supplémentaire  `dns',  et pour les mots de passe et
       les groupes (mais pas pour la base de données shadow) vous
       pouvez employer le service `compat'.

       La   bibliothèque   C  GNU  nécessite  un  fichier  appelé
       /lib/libnss_SERVICE.so.1  pour  chaque  SERVICE   utilisé.
       Avec  une  installation  standard,  vous  pouvez  utiliser
       `files', `db', `nis' et `nisplus'.  Pour les noms d'hôtes,
       vous  pouvez  indiquer `dns' comme service supplémentaire.
       Les mots de passe, les  groupes  et  la  base  de  données



Linux                      18 Mai 1998                          2





NSSWITCH.CONF(5) Manuel de l'administrateur LinuxNSSWITCH.CONF(5)


       shadow acceptent le service `compat'.

       Le  second élément de la configuration fournit un contrôle
       plus fin sur la méthode de recherche.   Des  actions  sont
       indiquées, entre crochets, entre deux noms de services. La
       forme générale est la suivante :

       `[' ( `!'? STATUS `=' ACTION )+ `]'

       avec

       STATUS => success | notfound | unavail | tryagain
       ACTION => return | continue

       Il n'y a pas de distinction majuscule/minuscule  dans  les
       mots-clés. Les valeurs de STATUS correspondent au résultat
       d'une fonction de recherche pour un  service  particulier.
       Ces mots-clés signifient :

       success
              Aucune  erreur  ne  s'est  produite,  et  la donnée
              recherchée a été trouvée. L'action par  défaut  est
              `return'.

       notfound
              La  méthode de recherche a bien fonctionné, mais la
              valeurs désirée n'a pas été trouvée.  L'action  par
              défaut est `continue'.

       unavail
              Le  service est indisponible, et ce de manière per­
              manente. Ceci peut indiquer que le  fichier  néces­
              saire  n'existe  pas,  ou,  pour  les  DNS,  que le
              serveur n'accepte pas les requêtes.   L'action  par
              défaut est `continue'.

       tryagain
              Le    service    considéré    est    temporairement
              indisponible. Ceci signifie qu'un fichier est  ver­
              rouillé,  et  qu'un serveur ne peut pas accepter de
              connexion supplémentaire. L'action par  défaut  est
              `continue'.


   Interactions avec la syntaxe +/- (mode compat)
       La bibliothèque libc5 Linux sans NYS n'accepte pas le ser­
       vice de  résolution  de  noms,  mais  permet  un  contrôle
       d'accès.  Dans le fichier /etc/passwd, vous pouvez trouver
       des entrées de la forme  +utilisateur  ou  +@groupe_reseau
       (inclure  l'utilisateur  indiqué  depuis  le  fichier  NIS
       passwd),  -utilisateur  ou  -@groupe_reseau  (exclure  ces
       utilisateurs)  et  + (inclure tous les utilisateurs depuis
       le  fichier  NIS  passwd   sauf   les   éventuels   exclus
       explicites).   Comme la plupart des gens placent un + à la



Linux                      18 Mai 1998                          3





NSSWITCH.CONF(5) Manuel de l'administrateur LinuxNSSWITCH.CONF(5)


       fin de /etc/passwd pour tout inclure depuis  NIS,  il  est
       possible  d'utiliser  une  méthode  plus  rapide (`passwd:
       files  nis')  ne   nécessitant   pas   d'entrée   +   dans
       /etc/passwd, /etc/group et /etc/shadow.  Si ceci ne suffit
       pas, le service NSS `compat' autorise  la  sémantique  +/-
       complète.   Par  défaut, la source est `nis', mais on peut
       la surcharger en  indiquant  `nisplus'  comme  source  des
       pseudo-bases  de  données  passwd_compat,  group_compat et
       shadow_compat.   Ces  pseudo-bases  de  données  ne   sont
       disponibles que dans la bibliothèque C GNU.

FICHIERS
       Un  service  appelé  SERVICE  est  implémenté par une bib­
       liothèque objet  partagée  nommée  libnss_SERVICE.so.1  se
       trouvant dans /lib.

       /etc/nsswitch.conf       fichier de configuration
       /lib/libnss_compat.so.1  la  source  `compat' pour la bib­
                                liothèque C GNU 2.x
       /lib/libnss_db.so.1      la  source  `db'  pour  la   bib­
                                liothèque C GNU 2.x
       /lib/libnss_dns.so.1     la  source  `dns'  pour  la  bib­
                                liothèque C GNU 2.x
       /lib/libnss_files.so.1   la source `files'  pour  la  bib­
                                liothèque C GNU 2.x
       /lib/libnss_hesoid.so.1  la  source  `hesoid' pour la bib­
                                liothèque C GNU 2.x
       /lib/libnss_nis.so.1     la  source  `nis'  pour  la  bib­
                                liothèque C GNU 2.x
       /lib/libnss_nisplus.so.1 la  source `nisplus' pour la bib­
                                liothèque C GNU 2.x
NOTES
       Au sein de chaque processus qui utilise nsswitch.conf,  la
       lecture  du  fichier entier n'a lieu qu'une seule fois. Si
       le fichier est modifié par la suite, le processus  contin­
       uera à utiliser l'ancienne configuration.
       Avec  Solaris  il  n'est pas possible de lier statiquement
       des programmes utilisant les services NSS. Avec Linux cela
       ne pose aucun problème.


















Linux                      18 Mai 1998                          4