0

我正在尝试从 Ubuntu(hardy 8.04LTS)主机使用 php_ldap(使用 ADLdap)绑定到 AD。绑定 389 端口对 ldap://myserver 没问题,但不允许我做设置密码之类的事情,所以我需要在端口 636 上绑定 ldaps://myserver。

我知道会发生某种形式的凭证传递,可能是证书,但我真的很难让任何东西正常工作 - ldaps 上的绑定失败。

测试台 AD 有一个容器 Users,在域 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 box上安装了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

有什么建议吗?

4

1 回答 1

0

啊哈!找到了——为了通过 ssl 绑定到 AD,你需要安装 libsasl2-modules-gssapi-mit——所以在 ubuntu 上使用

apt-get install libsasl2-modules-gssapi-mit

我在这里找到了答案:https ://help.ubuntu.com/community/ActiveDirectoryHowto

这使我所有的绑定问题都消失了。显然,如果您这样做是为了允许 ADLdap 更改密码,那么与您绑定的用户将需要在 AD 服务器上具有足够的权限。

于 2010-02-08T10:34:33.057 回答