J'ai suivi le guide décrit ici configurez LDAP , mais l'erreur continue à apparaître lorsque j'exécute "getent passwd". Y a-t-il une raison à cela?
Erreur:
Jul 16 15:58:33 wso2-VirtualBox getent: nss_ldap: could not search LDAP server - Server is unavailable
^[[AJul 16 15:59:34 wso2-VirtualBox getent: nss_ldap: failed to bind to LDAP server ldapi:///192.168.4.152/: Invalid credentials
Jul 16 15:59:34 wso2-VirtualBox getent: nss_ldap: could not search LDAP server - Server is unavailable
Fichiers de configuration:
vi /etc/ldap.conf
base dc=example,dc=com
uri ldapi:///192.168.4.152/
ldap_version 3
timelimit 4
bind_timelimit 4
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers avahi,avahi-
autoipd,backup,bin,colord,daemon,games,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,nslcd,openldap,proxy,Pulse,root,rtkit,saned,speech-dispatcher,sshd,sync,sys,syslog,usbmux,uucp,whoopsie,www-data
Je pense que le problème est que:
uri ldapi:///192.168.4.152/
devrait être:
uri ldap://192.168.4.152/
Utilisez l'outil de ligne de commande ldapsearch
pour vérifier que le serveur est en cours d'exécution et que les informations d'identification que vous utilisez sont correctes:
ldapsearch -D the-dn-you-use -w -the-password-you-use \
-H 192.168.4.152:389 -s base -b dc=example,dc=com '(&)' 1.1
Si ldapsearch
réussit, le serveur est à l'écoute, le client LDAP dispose des droits suffisants pour effectuer cette recherche et l'authentification était correcte.
J'ai utilisé le documentation officielle et je me suis retrouvé avec des messages similaires bien que getent passwd
ait montré les entrées LDAP dans la sortie. Même la finalisation des noms d’utilisateur fonctionnait avec les valeurs LDAP. Lorsque j'ai essayé id username
avec un nom d'utilisateur LDAP, il a échoué et a enregistré les mêmes messages d'erreur que le vôtre.
Après quelques minutes, je me souvenais que les données LDAP contenaient un nom d'administrateur de cn=admin,dn=...
alors que, dans /etc/ldap.conf
, le rootbinddn
était réglé sur cn=mananger,dn=...
.
J'ai modifié /etc/ldap.conf
pour qu'il corresponde aux données LDAP et le problème a été résolu. Plus tard, j'ai trouvé le blog que vous avez mentionné et qui dit:
Commentez la ligne "rootbinddn" [vous ne savez pas pourquoi nous devons le faire]
C'est probablement la même chose.
Je suppose que ce que vous devez faire est d’abord de déterminer si votre serveur LDAP accepte les connexions ... Installez ldap-utils sur votre client afin de disposer de l’outil ldapsearch. Puis essayez ldapsearch -x
. Cela utilise une authentification simple et si vous obtenez des résultats, vous pouvez être sûr que votre serveur LDAP peut être interrogé à partir du client.
Ensuite, jetez un oeil à votre fichier slapd.conf. Examinez de près les champs binddn et bindpw. Vous pouvez changer le bindpw si vous ne vous en souvenez pas. La commande pour générer un bindpw encodé serait d'utiliser slappasswd
sur votre mot de passe texte simple. Après cela, vous pouvez utiliser la commande mentionnée par Terry Gardner ci-dessus. Si cela se connecte, vous pouvez être assuré que l'authentification LDAP fonctionne correctement. Si cela ne fonctionne pas, alors postez les messages d'erreur, décrivez les problèmes que vous avez rencontrés et publiez également votre slapd.conf. Nous espérons pouvoir vous proposer une solution. :)