LDAPサーバーはSolarisでホストされています。クライアントはCentOSです。 LDAPを介したOpenLDAP/NSLCD/SSH認証は正常に機能しますが、ldapsearchコマンドを使用して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 ~]#
/etc/openldap/cacerts/cacert.pemをパラメーターとして指定して、ldapsearchを介して証明書で認証を試みましたが、この証明書を認証に受け入れませんでした。
SASLをオフにして、 "-x"オプションを指定した単純な認証を使用することもできます。たとえば、特定のユーザーを見つけるための検索
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'
「test-user」を見つけます
私は同じ質問をするようです: https://stackoverflow.com/questions/27571558/how-was-authentication-built-on-ldap
次のように要約できます(コマンドラインでの実験)。
$ 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"
完全なバインドDNがわからない場合は、通常のユーザー名を使用するか、-U
でメールを送信することもできます。
ldapsearch -v -h contoso.com -U [email protected] -w 'MY_PASSWORD' -b 'DC=contoso,DC=com' '(objectClass=computer)'