LDAP - 授予用户对组/组织单位的写权限

LDAP - 授予用户对组/组织单位的写权限

我尝试授予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"

有人能解释一下这里出了什么问题以及如何纠正吗?我尝试了网上找到的很多方法。

答案1

经过几次反复尝试后,我找到了一个可行的解决方案。

看一下这个 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 下创建新用户,但您不能更改他们的所有属性。

相关内容