Openldap
OpenLDAP cn=config:沒有這樣的對象 (32)?
我正在嘗試遵循幾個關於設置根 LDAP 密碼的教程(我們以前的系統管理員離開了……突然),它們或多或少都說同樣的話:
- http://sysadminnotebook.blogspot.com/2014/06/change-root-dn-password-on-openldap.html
- https://tech.feedyourhead.at/content/openldap-set-config-admin-password
- https://www.linuxwave.info/2015/07/reset-openldap-default-admin-password.html
…但在第一步卡住了。這似乎很糟糕:
# 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/EXTERNAL
asgidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
或rootDN
具有權限。manager
對於您現有的安裝,目前並非如此。
如果您知道各種 rootDN 的密碼,請使用這些密碼。否則,請將您的 rootDN(或密碼)替換為您可以使用的內容。您必須在 LDAP 之外通過編輯
/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
或您的等效項並重新啟動 slapd 來執行此操作。