2010-02-04 82 views
0

我想從php(使用ADLdap),從Ubuntu(hardy 8.04LTS)主機綁定到AD。 在端口389上的綁定對ldap:// myserver是很好的,但不允許我執行set password等操作,所以我需要將端口636綁定到ldaps:// myserver。php_ldap通過ssl困難

我知道某種形式的憑證傳遞發生,也許與證書,但我真的很努力得到任何工作 - 綁定在ldaps上失敗。

測試臺AD具有容器的用戶,在域mydom.local 我使用在用戶容器bindis的帳戶,並且具有

'CN=LDAP BIND,OU=Users,DC=mydom,DC=local' and a password of 'mypass' 

其sAMAccount名DN是LDAP

我懷疑我需要在ubuntu盒子上安裝一些額外的軟件包,或者在Windows服務器上對AD進行一些神奇的操作,或者做一些證書抓取的工作,但是我被卡住了。

我想補充一些細節,如果我嘗試從ldapsearch的命令行連接來搜索一些用戶調用安裝,我得到

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 

任何一個DVICE?

回答

0

啊哈!找到它 - 爲了綁定到AD通過SSL,您需要安裝libsasl2模塊-GSSAPI - 麻省理工學院 - 所以在Ubuntu上使用

apt-get install libsasl2-modules-gssapi-mit 

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

這讓我所有的綁定問題消失。 很明顯,如果您這樣做是爲了允許ADLdap更改密碼,則與AD綁定的用戶在AD服務器上需要足夠的權限。