Fedora

在 Fedora 12 上安裝 OpenLDAP:ldap_bind:無效憑據 (49)

  • December 2, 2012

我一直在嘗試在 Fedora 12 上設置預設安裝的 OpenLDAP,但非常不成功。我的最終目標是使用 LDAP 身份驗證進行使用者登錄和 Apache,使用在同一台機器上執行的 OpenLDAP 伺服器。

伺服器正在執行,但是當我嘗試使用 ldapsearch 或 ldapadd 時總是得到的錯誤是:ldap_bind: Invalid credentials (49)

我一直在關注這些教程,但沒有一個對我有幫助:

首先,已經安裝了一些組件,我使用 yum 安裝了這些組件:

yum install openldap-servers openldap-devel

然後,我在 /etc/openldap 中創建了一個基本的 slapd.conf 文件:

database        bdb
suffix          "dc=sniejana-sandbox,dc=com"
rootdn          "cn=root,dc=sniejana-sandbox,dc=com"
rootpw          {SSHA}cxdz55ygPu4T3ykg7dgu+L0VRvsFSeom
directory       /var/lib/ldap/sniejana-sandbox.com

我用這個命令獲得了rootpw:

slappasswd -s changeme

我還創建了/var/lib/ldap/sniejana-sandbox.com目錄並確保/var/lib/ldapldap 使用者擁有的全部內容。

我找到了兩個 ldap.conf 文件,一個在 /etc 中,一個在 /etc/openldap 中。我不知道哪個是正確的。如果我理解正確的話,這個文件是用來配置客戶端的。我把它放在兩個:

HOST localhost
BASE dc=sniejana-sandbox,dc=com

然後我執行伺服器:

service slapd start

它說好的。

上面的大多數教程都說使用該命令ldapsearch -D "cn=Manager,dc=my-domain,dc=com" -W來確保一切正常。執行此命令時出現密碼提示,輸入密碼後報錯。

ldapsearch -D "cn=root,dc=sniejana-sandbox,dc=com" -W
Enter LDAP password:
ldap_bind: Invalid credentials (49)

嘗試使用 ldapadd 時也會發生同樣的事情。我嘗試在 slapd.conf 中使用加密和未加密的密碼,它不會改變任何東西。添加 -x 進行簡單身份驗證也不會改變任何內容。

netstat -ap 確認伺服器正在監聽:

tcp   0   0 *:ldap    *:*       LISTEN      4148/slapd          
tcp   0   0 *:ldap    *:*       LISTEN      4148/slapd

ps -ef|grep slapd 確認程序正在執行:

ldap   4148  1  0 15:22 ?   00:00:00 /usr/sbin/slapd -h  ldap:/// -u ldap

執行 slaptest 會產生配置文件測試成功

我在某處讀到該命令ldapsearch -x -b '' -s base '(objectclass=*)' namingContext可以確認伺服器正在執行。它似乎工作:

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContext 
#

#
dn:

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

我的想法不多了。我錯過了一些明顯的東西嗎?

啊哈!我的問題解決了!我只需要使用刪除目錄rm -rf /etc/openldap/slapd.d。這將強制 OpenLDAPslapd.conf在啟動服務時查找我的文件。

我在 Fedora 12 中也有這個 openldap 問題!但是,如果你嘗試使用以下命令手動啟動你的 openldap,它的行為就會恢復正常。/usr/sbin/slapd -f /etc/openldap/slapd.conf

我懷疑預設命令(我指的是“service slapd start”)沒有載入我在 yum 安裝後手動創建的 openldap 配置文件(我指的是 /etc/openldap/slapd.conf)。

引用自:https://serverfault.com/questions/129382