我正在尝试授权 Red Hat Linux 6.5 中的活动目录用户。为此,我使用了 saslauthd。这是它的配置:
/etc/saslauthd.conf:
ldap_servers: ldap://activeDirectoryHost.us-west-2.compute.amazonaws.com
ldap_use_sasl: yes
ldap_mech: DIGEST-MD5
ldap_auth_method: fastbind
在 /etc/sysconfig/saslauthd 中:
SOCKETDIR=/var/run/saslauthd
MECH=ldap
DAEMONOPTS=--user saslauth
FLAGS="-O /etc/saslauthd.conf"
活动目录运行良好,因为当我对它进行搜索时,我得到了正确的答案。要进行搜索,我使用 Red Hat 终端中的 ldapsearch 命令:
ldapsearch -LLL -H ldap://activeDirectoryHost.us-west-2.compute.amazonaws.com -x -D 'testUser@ACTIVEDIRECTORY_TEST.es' -w 'psswd12345' -b 'OU=Domain Controllers,DC=ACTIVEDIRECTORY_TEST,DC=es
问题出在 saslauthd 上。我使用以下命令运行测试:
testsaslauthd -u 'testUser@ACTIVEDIRECTORY_TEST.es' -p 'psswd12345' -f /var/run/saslauthd/mux
我总是遇到同样的错误:
0: NO "authentication failed"
日志文件没有提供更多信息:
saslauthd[1690]: Retrying authentication
saslauthd[1690]: do_auth: auth failure: [user=testCorreos2] [service=imap] [realm=] [mech=ldap] [reason=Unknown]
有人知道有什么解决方案吗?
答案1
我解决了这个问题。错误在于我尝试连接 Active Directory,但没有配置对 ldap 树具有权限的用户。
解决方案是:
1- 在 Active Directory 中创建具有 root 角色的用户
2-配置 saslauthd 以使用此用户登录 Active Directory
ldap_servers: ldap://activeDirectoryHost.us-west-2.compute.amazonaws.com
ldap_mech: PLAIN
ldap_filter: cn=%u,CN=Users,DC=ACTIVEDIRECTORY_TEST,DC=es
ldap_search_base:CN=Users,DC=ACTIVEDIRECTORY_TEST,DC=es
ldap_filter:(cn=%u)
ldap_bind_dn:CN=ldapAdmin,CN=Users,DC=ACTIVEDIRECTORY_TEST,DC=es
ldap_password:12345pwdss