我无法让 saslauthd 与 Active Directory 一起工作。这是 /etc/saslauthd.conf:
ldap_use_sasl: yes
ldap_servers: ldap://ad.example.com
ldap_search_base: OU=Users,DC=example,DC=com
ldap_bind_dn: CN=openldap,OU=Users,DC=example,DC=com
ldap_bind_pw: secret
ldap_filter: (sAMAccountName=%u)
启动 saslauthd 后,我执行:
testsaslauthd -u myuser -p mypass
这给了我0: NO "authentication failed"
。我想也许问题出在与 ldap 的连接上,所以我做了一个 ldap 搜索:
ldapsearch -h 172.16.0.4 -x -W -D "cn=openldap,ou=Users,dc=example,dc=com" -b "ou=Users,dc=example,dc=com" "(sAMAccountName=myuser)"
输入绑定用户的密码后,系统会向我提供信息。出于某种原因,SASL 无法通过 LDAP 进行身份验证。
这背后的原因是什么?我还可以检查什么?
答案1
你使用的是哪个 CentOS 版本?在 7.1 中,有漏洞这会阻止针对 AD 服务器的身份验证,但是该问题已得到修复并且会在几周后更新。