2013-03-22 254 views
7

我在運行OpenLDAP 2.4-28 on XUBUNTU 12.04。ldap_bind:無效的證書(49)

我在閱讀「掌握OpenLDAP」並配合本書一起配置。

當我嘗試執行下面的搜索(第47頁):

$ ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base 

提示我輸入密碼。然後我進入 「祕密」,但我得到了以下錯誤:

ldap_bind: Invalid Credentials (49). 

以下是我的slapd.conf

# slapd.conf - Configuration file for LDAP SLAPD 
########## 
# Basics # 
########## 
include /etc/ldap/schema/core.schema 
include /etc/ldap/schema/cosine.schema 
include /etc/ldap/schema/inetorgperson.schema 
pidfile /var/run/slapd/slapd.pid 
argsfile /var/run/slapd/slapd.args 
loglevel none 
modulepath /usr/lib/ldap 
# modulepath /usr/local/libexec/openldap 
moduleload back_hdb 

########################## 
# Database Configuration # 
########################## 
database hdb 
suffix "dc=example,dc=com" 
rootdn "cn=Manager,dc=example,dc=com" 
rootpw secret 
directory /var/lib/ldap 
# directory /usr/local/var/openldap-data 
index objectClass,cn eq 

######## 
# ACLs # 
######## 
access to attrs=userPassword 
    by anonymous auth 
    by self write 
    by * none 
access to * 
    by self write 
    by * none 

,這裏是在ldap.conf:

# LDAP Client Settings 
URI ldap://localhost 
BASE dc=example,dc=com 
BINDDN cn=Manager,dc=example,dc=com 
SIZELIMIT 0 
TIMELIMIT 0 

順祝商祺 Ali Reza

+0

有點相關:http://wiki.openiam.com/pages/viewpage.action?pageId=7635198 – cregox 2014-08-11 21:17:10

+0

你有沒有找到這個@alibaba的答案?我收到了同樣的錯誤。 – Matt 2015-03-20 21:48:28

回答

10

我沒有看到一個明顯的問題波夫。

這是可能ldap.conf被覆蓋,但命令行選項的優先級,ldapsearch將在主ldap.conf忽略BINDDN,這樣可能是錯誤的唯一參數是URI。 (順序是ETCDIR/ldap.conf然後~/ldaprc~/.ldaprc,然後在當前目錄ldaprc,雖然有環境變量可以影響這個也看man ldapconf。)

嘗試一個明確的URI:

ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base -H ldap://localhost 

或防止違約:

LDAPNOINIT=1 ldapsearch -x -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base 

如果這不起作用,那麼一些麻煩eshooting(你可能需要的完整路徑slapd二元這些):

  • 確保您slapd.conf正在使用,正確的是(根)

    slapd -T test -f slapd.conf -d 65535

    可能有剩餘或默認slapd.d配置目錄它優先於您的slapd.conf(除非您明確指定您的配置與-f,slapd.conf正式dep在OpenLDAP-2.4中進行了修改)。如果你沒有得到幾頁輸出,那麼你的二進制文件被編譯爲而沒有調試支持。

  • 停止OpenLDAP的,然後手動在一個單獨的終端/主機與調試啓用(如根,^ C退出)

    slapd -h ldap://localhost -d 481

    然後重試的搜索,看是否可以當場問題開始slapd(不幸的是,輸出開始時會有很多模式噪聲)。 (注:沒有-u/-g選項運行slapd可以更改文件所有權可能導致問題,你通常應該使用這些選項,可能-u ldap -g ldap

  • 如果啓用調試,然後嘗試也

    ldapsearch -v -d 63 -W -D 'cn=Manager,dc=example,dc=com' -b "" -s base