Openldap
openLDAP 未將 ldif 導入“cn=config”
我在為 openLDAP 設置管理員組時遇到問題。
我剛剛搬到 olcconfig 並設置了以下 ldif:
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcAccess olcAccess: {3}to dn.subtree="dc=mysite,dc=com" by group(s)/groupOfNames/member="cn=admin,ou=group,dc=mysite,dc=com" manage
我嘗試通過
sudo ldapadd -D "cn=diradmin,dc=mysite,dc=com" -f admin.ldif -W -x
diradmin 是根 dn 來添加它。當我這樣做時,我得到:modifying entry "olcDatabase={1}mdb,cn=config" ldap_modify: Insufficient access (50)
我已經閱讀了一些不同的教程,但不明白為什麼會發生這種情況。任何人都可以協助解決可能的原因(甚至指出一個很好的教程!)。
謝謝。
- 編輯 - - -
我現在嘗試過:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f admin.ldif
以下是我的錯誤:
SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={1}mdb,cn=config" ldap_modify: Insufficient access (50)
為了更新您的
olcAccess
屬性,您dc=mysite,dc=com
實際上需要cn=config
數據庫權限。您嘗試使用的根 DN 僅適用於更新
dc=mysite,dc=com
數據庫中的對象,它沒有/不應該對cn=config
數據庫具有權限。我不知道您是如何生成配置的,但看起來您至少需要在對像
olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none
上添加類似的東西olcDatabase={0}config,cn=config
。這將允許您使用EXTERNAL
另一個答案中提到的身份驗證來應用您的原始 LDIF 更改。如果您沒有配置任何允許您更新
cn=config
數據庫的 ACL,那麼您可以嘗試在此問題中接受的答案來編輯通常位於/etc/ldap/slapd.d
或下的數據庫文件/etc/openldap/slapd.d
。