Le serveur LDAP est hébergé sur Solaris. Le client est CentOS. L'authentification OpenLDAP/NSLCD/SSH via LDAP fonctionne correctement, mais je ne suis pas en mesure d'utiliser les commandes ldapsearch pour déboguer les problèmes LDAP.
[root@tst-01 ~]# ldapsearch
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
[root@tst-01 ~]# cat /etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://ldap1.tst.domain.tld ldap://ldap2.tst.domain.tld
BASE dc=tst,dc=domain,dc=tld
[root@tst-01 ~]# ls -al /etc/openldap/cacerts
total 12
drwxr-xr-x. 2 root root 4096 Jun 6 10:31 .
drwxr-xr-x. 3 root root 4096 Jun 10 10:12 ..
-rw-r--r--. 1 root root 895 Jun 6 10:01 cacert.pem
lrwxrwxrwx. 1 root root 10 Jun 6 10:31 cf848aa4.0 -> cacert.pem
[root@tst-01 ~]#
J'ai essayé l'authentification avec un certificat via ldapsearch en donnant /etc/openldap/cacerts/cacert.pem comme paramètre, mais il n'a pas accepté ce certificat pour l'authentification.
Vous pouvez désactiver SASL et utiliser une authentification simple avec l'option "-x". Par exemple, une recherche pour trouver un utilisateur particulier
ldapsearch -x -D "uid=search-user,ou=People,dc=example,dc=com" \
-W -H ldap://ldap.example.com -b "ou=People,dc=example,dc=com" \
-s sub 'uid=test-user'
Trouvera "test-user" par
Semble que je pose la même question à: https://stackoverflow.com/questions/27571558/how-was-authentication-built-on-ldap
Cela peut être résumé comme (expérience en ligne de commande):
$ ldapsearch -x -h ldap.company.com -s sub -b 'dc=europe,dc=com' "uid=XYZ"
....
dn: uid=XYZ,dc=sales,dc=europe,dc=com
...
$ ldapsearch -W -h ldap.company.com -D 'uid=XYZ,dc=sales,dc=europe,dc=com' \
-s sub -b 'dc=europe,dc=com' "uid=XYZ"
Remarque: si vous ne connaissez pas votre DN de liaison complet, vous pouvez également utiliser votre nom d'utilisateur ou votre e-mail normal avec -U
ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'