Openldap

openLDAP 未將 ldif 導入“cn=config”

  • November 2, 2018

我在為 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 -xdiradmin 是根 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

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