2014-02-21 24 views
0

我有一个old服务器(slapd.d目录而不是静态文件:服务器包含它自己的配置!)。为什么ldap匿名搜索请求不起作用,但允许?

我想对其执行搜索操作,但不提供任何凭据。

该对象仅用于获取用户的dn(也可能是邮件),然后是AFTER,auth沿着这个精确的dn与正确的creds。

当我看配置,似乎这样的操作以及允许:

# {1}hdb, config 
dn: olcDatabase={1}hdb,cn=config 
objectClass: olcDatabaseConfig 
objectClass: olcHdbConfig 
olcDatabase: {1}hdb 
olcDbDirectory: /var/lib/ldap 
olcSuffix: dc=22decembre,dc=eu 
olcAccess: {0}to attrs=userPassword,shadowLastChange 
    by self write 
    by anonymous auth 
    by dn="cn=admin,dc=22decembre,dc=eu" write 
    by * none 
olcAccess: {1}to dn.base="" by * read 
olcAccess: {2}to * 
    by self write 
    by dn="cn=admin,dc=22decembre,dc=eu" write 
    by * read 
olcLastMod: TRUE 
olcRootDN: cn=admin,dc=22decembre,dc=eu 
olcRootPW: {SSHA}cgcKtuYqJpUxLIgbCwWgLRgQv0VNIPzN 
olcDbCheckpoint: 512 30 
olcDbConfig: {0}set_cachesize 0 2097152 0 
olcDbConfig: {1}set_lk_max_objects 1500 
olcDbConfig: {2}set_lk_max_locks 1500 
olcDbConfig: {3}set_lk_max_lockers 1500 
olcDbIndex: objectClass eq 

Eventhough,当我运行ldapsearch的,它不断地问我与SASL身份验证方法的密码。

其实,主要目的是使用PHP,但我认为它必须至少在命令行工作,否则在PHP中,我不会猜测任何东西。

+0

什么是搜索? – EJP

+0

搜索可以是: ldapsearch的-b “DC = 22decembre,DC = EU” -s子 “对象类= *” “UID =斯蒂芬” 或ldapsearch的-b “DC = 22decembre,DC = EU”“UID =斯蒂芬” – 22decembre

回答

0

已解决。即使允许匿名绑定,你也需要说你会用-x选项授权(荒谬不是我们算的!)。

所以为前:

ldapsearch -x -H ldap://blackblock "uid=stephane" -b "dc=22decembre,dc=eu" 

和OK!你不需要输入你的密码。

相关问题