Openldap

OpenLDAP cn=config:沒有這樣的對象 (32)?

  • April 30, 2019

我正在嘗試遵循幾個關於設置根 LDAP 密碼的教程(我們以前的系統管理員離開了……突然),它們或多或少都說同樣的話:

…但在第一步卡住了。這似乎很糟糕:

# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b  cn=config
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
No such object (32)

到目前為止我已經嘗試過:

我可以通過從 slapd-config 文件中探勘查詢要檢索的數據來定位它:

# find /etc/ldap/slapd.d -type f -exec grep Root {} +
/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif:olcRootDN: cn=admin,cn=config
/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif:olcRootPW: {SSHA}[xxxxxx hash redacted xxxxxx]
/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif:olcRootDN: cn=admin,dc=example,dc=com
/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif:olcRootPW: {SSHA}[xxxxxx hash redacted xxxxxx]

並確認 slapd 理論上設置為從這些文件中讀取:

# ps -ef | grep slapd
openldap  2244     1  0 Oct26 ?        00:00:16 /usr/sbin/slapd -h ldap:/// ldapi:/// ldaps:/// -g openldap -u openldap -F /etc/ldap/slapd.d

當我打開 ACL 日誌記錄(並從命令行執行;從 init.d 打開日誌記錄會使 slapd 在啟動時掛起)我得到這個:

5bdb2ef2 => access_allowed: search access to "cn=config" "entry" requested
5bdb2ef2 => acl_get: [1] attr entry
5bdb2ef2 => acl_mask: access to entry "cn=config", attr "entry" requested
5bdb2ef2 => acl_mask: to all values by "gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth", (=0)
5bdb2ef2 <= check a_dn_pat: *
5bdb2ef2 <= acl_mask: [1] applying none(=0) (stop)
5bdb2ef2 <= acl_mask: [1] mask: none(=0)
5bdb2ef2 => slap_access_allowed: search access denied by none(=0)
5bdb2ef2 => access_allowed: no more rules

想法?

在許多現代 Linux 系統上,當安裝 openldap-server/slapd 時,root 由SASL/EXTERNALasgidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authrootDN具有權限。manager

對於您現有的安裝,目前並非如此。

如果您知道各種 rootDN 的密碼,請使用這些密碼。否則,請將您的 rootDN(或密碼)替換為您可以使用的內容。您必須在 LDAP 之外通過編輯/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif或您的等效項並重新啟動 slapd 來執行此操作。

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