Ldap

LDAP - 授予使用者對組/組織單位的寫入權限

  • August 11, 2019

我試圖授予cn=admin,ou=Administrators,dc=example,dc=com完全寫入權限,ou=People,dc=example,dc=com以便該管理員可以在下創建(當然也可以讀取)新條目ou=People,也可以修改它們(例如更改密碼)。

我的 ldif 文件看起來像

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {4}to dn.subtree="ou=People,dc=example,dc=com" by dn.exact="cn=admin,ou=Administrators,dc=example,dc=com" write

執行它之後 ldapadd -Y EXTERNAL -H ldapi:/// -f permission.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"

任何人都可以解釋這裡有什麼問題以及如何正確處理?嘗試了很多我在網上找到的東西。

經過幾次反複試驗,我找到了一個可行的解決方案。

看看這個ldif:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: {0}to attrs=userPassword by self write by dn="cn=admin,ou=Administrators,dc=example,dc=com" write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to dn.subtree="ou=People,dc=example,dc=com" by dn.exact="ccn=admin,ou=Administrators,dc=example,dc=com" write
olcAccess: {3}to * by * read

/edit:嗯,這可以讓您在 ou=People 下創建新使用者,但您不能更改他們的所有屬性。

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