Système de nommage

Présentation du problème

A ce stade, nous avons étudié plusieurs dictionnaires qui permettent de transformer des noms en références. A titre d'exemple :

  • /etc/passwd (login en UID),
  • /etc/shadow (login en mot de passe),
  • /etc/group (groupe en GID),
  • /etc/hosts (nom de machine en adresse IP),
  • /etc/services (nom de service en numéro de port),
  • /etc/network (nom de réseau en adresse IP),
  • /etc/ethers (adresse IP en adresse MAC),
  • etc.

Pour accéder à ces dictionnaires les applications utilisent des API particulières intégrées à la libraire standard du langage C (regardez à titre d'exemple la fonction getpwent avec la commande man 3 getpwent, qui présente les pages du manuel de la section 3, c'est-à-dire les API).

Depuis plusieurs années, les fichiers ne sont plus les seuls dictionnaires. On peut maintenant utiliser le DNS, des bases de données ou des annuaires d'entreprises basés sur LDAP ou NIS. La configuration du choix entre ces systèmes de nommage, se fait dans le fichier /etc/nsswitch.conf (Name Service Switch). Chaque système de nommage doit fournir sa propre implantation des fonctions systèmes dans une libraire dynamique (voir ls /lib/libnss*). Lisez la page de manuel de nsswitch.conf.

Exercices