我正在尝试使用来自Ubuntu(hardy 8.04LTS)主机的php_ldap(使用ADLdap)绑定到AD。 端口389上的绑定对于ldap:// myserver很好,但是不允许我做设置密码之类的事情,所以我需要在端口636上绑定到ldaps:// myserver。
我知道某种形式的凭据传递可能会带来证书,但我真的很难让任何工作 - 绑定在ldaps上失败。
测试装备AD在域mydom.local中有一个容器Users 我在“用户”容器中用于绑定的帐户,其DN为
'CN=LDAP BIND,OU=Users,DC=mydom,DC=local' and a password of 'mypass'
其sAMAccount名称为ldap
我怀疑我需要在ubuntu盒子上安装一些额外的软件包,或者在Windows服务器上为AD做一些魔术,或者做一些证书抓取的东西,但我被卡住了。
只是添加一些细节,如果我尝试从命令行与ldapsearch连接以搜索一些名为install的用户,我得到
ldapsearch -vv -H 'ldaps://server.mydom.local' -Y DIGEST-MD5 -X 'dn:CN=LDAP BIND,OU=Users,DC=mydom,DC=local' sAMAccountname=install -U 'u:LDAP BIND'
ldap_initialize( ldaps://server.mydom.local:636/??base )
SASL/DIGEST-MD5 authentication started
Please enter your password: mypass
ldap_sasl_interactive_bind_s: Invalid credentials (49)
正如我所说,我可以成功绑定389。
我在ubuntu框上安装了ldap-utils,libldap,php5-ldap和/etc/ldap/ldap.conf是:
TLS_REQCERT never
BINDDN 'CN=LDAP BIND,OU=Users,DC=mydom,DC=local'
URI ldaps://server.mydom.local
有什么建议吗?
答案 0 :(得分:0)
apt-get install libsasl2-modules-gssapi-mit
我在这里找到答案:https://help.ubuntu.com/community/ActiveDirectoryHowto
这使我所有的绑定问题都消失了。 显然,如果您这样做是为了允许ADLdap更改密码,那么您绑定的用户将需要AD服务器上的足够权限。