it-swarm.com.de

Wie authentifiziere ich mich mit LDAP über die Befehlszeile?

Der LDAP-Server wird unter Solaris gehostet. Der Client ist CentOS. Die OpenLDAP/NSLCD/SSH-Authentifizierung über LDAP funktioniert einwandfrei, aber ich kann die ldapsearch-Befehle nicht zum Debuggen von LDAP-Problemen verwenden.

[[email protected] ~]# ldapsearch
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
        additional info: SASL(-4): no mechanism available:
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]#

Ich habe versucht, mich mit einem Zertifikat über ldapsearch zu authentifizieren, wobei /etc/openldap/cacerts/cacert.pem als Parameter angegeben wurde, aber dieses Zertifikat wurde nicht zur Authentifizierung akzeptiert.

37
ujjain

Möglicherweise möchten Sie SASL deaktivieren und die einfache Authentifizierung mit der Option "-x" verwenden. Zum Beispiel eine Suche nach einem bestimmten Benutzer

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'

Findet "Testbenutzer" von

  • - D - Bindebenutzer "Suchbenutzer" verwenden
  • - W - Passwort eingeben
  • - H - URL des LDAP-Servers. In diesem Fall kein SSL; Verwenden Sie "ldaps: //" für SSL
  • - b - Die Suchbasis
  • - s - Suchbereich - dh Basis für Basis des Baums, eins für auf Ebene nach unten und Sub für rekursiv Suche im Baum (kann eine Weile dauern)
  • Schließlich der Suchfilter als Nichtoptionsargument. In diesem Fall suchen wir nach der UID von "Testbenutzer"
63
Fred Clausen

Scheint, dass ich die gleiche Frage stelle unter: https://stackoverflow.com/questions/27571558/how-was-authentication-built-on-ldap

Siehe http://thecarlhall.wordpress.com/2011/01/04/ldap-authentication-authorization-dissected-and-digested/ :

  • Stellen Sie eine Verbindung zum LDAP-Server her.
  • Als Anwendungsbenutzer binden.
  • Suchen Sie nach dem DN (definierter Name) des zu authentifizierenden Benutzers.
  • Binden Sie als Benutzer zur Authentifizierung mit DN aus Schritt 3.

Das kann zusammengefasst werden als (Experiment in der Kommandozeile):

$ 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"
6
gavenkoa

Hinweis: Wenn Sie Ihren vollständigen Bindungs-DN nicht kennen, können Sie auch einfach Ihren normalen Benutzernamen oder Ihre E-Mail-Adresse mit -U Verwenden.

ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'
1
turiyag