Debian: Problème causé par OpenLDAP et NSS (et Udevd) ( ) |
Ecrit le 21-02-2009 (10963 hits) ... section Services Si on installe un service OpenLDAP et qu'on configure le serveur pour résoudre les noms d'utilisateurs et de groups sur la base LDAP (gràce à NSS via /etc/nsswitch.conf), il apparait des erreurs au cours du démarrage de la machine. Même si le service LDAP fonctionne parfaitement. Du genre (extraits de logs pris au hasard): > udevd[xxx]: nss_ldap: failed to bind to LDAP server ldap://127.0.0.1: Can't contact LDAP server Ce problème apparait sur une Debian Etch, une Lenny, et je pense que c'est identique sous Ubuntu. Ci-dessous voici comment j'ai résolu le problème. En regardant les traces ci-dessus, on voit que les messages sont générés par udevd. Udev est démarré au niveau single, donc très tôt. Son rôle est de occuper de l'identification des périphériques sous /dev, du chargement des modules des pilotes correspondants. Le souci vient du fait qu'il change la propriété group du device par rapport à des règles définies sous /etc/udev/permissions.rules. Voilà ou est le problème: l'appel "lookup_group" provoque une résolution du nom du groupe. Qui conformément à la configuration NSS (/etc/nsswitch.conf) essaie de le résoudre sur ldap. rajouter "bind_policy soft" dans le fichier /etc/libnss-ldap.conf. ca indique au module ldap de nss de ne pas rééssayer plusieurs fois la connection au serveur LDAP. udev fait un appel à la fonction lookup_group, qui recherche le nom dans le fichier local /etc/groups puis sur la base LDAP s'il ne l'y trouve pas (ceci si on a mis "group: files ldap" dans nsswitch.conf).
La dernière commande ajoute un utilisateur, necessaire pour tss. C'est la seule possibilité que je vois sans modifier la configuration système:
|