我有一个带有olc的ldap服务器(slapd.d目录而不是静态文件:服务器包含自己的配置!)。
我想在其上执行搜索操作,而不提供任何凭据。
该对象仅用于获取内部用户的dn(可能是邮件),然后AFTER,使用正确的信用卡以这个精确的dn进行身份验证。
当我查看配置时,似乎允许这样的操作:
# {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
尽管如此,当我运行ldapsearch时,它会继续问我使用sasl auth方法的密码。
实际上,主要目的是使用php,但我认为它必须至少在命令行中工作,否则在php中,我不会猜到任何事情。
答案 0 :(得分:1)
解决。即使允许使用匿名绑定,您也需要说使用-x选项进行身份验证(荒谬不是我们想要的!)。
所以对于前:
ldapsearch -x -H ldap://blackblock "uid=stephane" -b "dc=22decembre,dc=eu"
好的!您无需输入密码。