打开为什么LDAP匿名搜索请求在允许的情况下不起作用?



我有一个带有olc的ldap服务器(slapd.d目录而不是静态文件:服务器包含自己的配置!)。

我想在不提供任何凭据的情况下对其执行搜索操作。

该对象只用于获取内部用户的dn(可能还有邮件),然后在之后,使用正确的cred对这个精确的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中,我不会猜测任何事情。

已解决。即使允许匿名绑定,您也需要说您将使用-x选项进行身份验证(我们不认为荒谬!)。

例如:

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

好吧!您不需要键入密码。

最新更新