2014-02-21 53 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!你不需要輸入你的密碼。

相關問題