Niveau :      
Résumé : /etc/init.d/nscd start

NSS

Libnss est LA bibliothèque qui gère tout ce qui est correspondances de nom dans le système (nss = name service switch). Ceci inclut :

  • machine <-> IP
  • utilisateur <-> id
  • groupe <-> id
  • protocole <-> id
  • service <-> port
  • ...

Elle se configure dans le fichier /etc/nsswitch.conf où vous en trouverez la liste complète. Pour chaque type de correspondance vous pouvez spécifier les méthodes utilisées pour la résolution et l'ordre dans lequel elles sont appelées. Tous les outils du système utilisent cette bibliothèque pour ces fonctions, c'est donc un lieu de configuration unique.

Getent

Cette bibliothèque dispose d'une commande qui est bien utile pour obtenir les informations en question depuis un shell : getent.

$ getent hosts www.google.fr
$ getent passwd peck
$ ...

Notez que c'est LA bonne méthode pour accéder à la résolution dns à travers le système. En effet la commande host interroge directement le dns sans prendre en compte un éventuel fichier hosts ou ldap ou ... et leur priorité. Elle ne permet donc pas de tester le fonctionnement correct du système.

Nscd

Donc tous les outils du système utilisent cette bibliothèque à chaque fois qu'ils ont besoin d'une résolution de nom. Le problème est parfois que cette bibliothèque ne fait que ce pour quoi elle a été conçue, c'est-à-dire résoudre des noms, et cela peut prendre du temps, surtout si la requête passe par le réseau. Par exemple dans le cas où les utilisateurs s'authentifient avec un ldap distant, ou dans le cas où un logiciel fait de très nombreuses requêtes dns, on a un gros ralentissement de l'application car elle perd du temps à chaque requête.

Le démon nscd (name service cache daemon) est justement là pour pallier ce problème, il gère un cache pour cette bibliothèque. Il se lance tout simplement après avoir été installé :

$ /etc/init.d/nscd start

Il se configure dans /etc/nscd.conf où on peut configurer, entre autres, différentes durées de cache et le cache uniquement pour certaines correspondances.

Ce service est surtout utile sur les serveurs qui font serveur nfs et qui sont souvent une identification des utilisateurs par NS ou ldap. Notez que c'est une mauvaise idée de l'utiliser sur un serveur dns car il ne respecte pas les valeurs des TTL pour les noms de domaine.