下面是我实施的 ACL 的 ldif 示例:
dn: olcDatabase={-1}frontend,cn=config
objectclass: olcDatabaseConfig
objectclass: olcFrontendConfig
olcaccess: {0}to dn.subtree="ou=someou,dc=somedc,dc=somedc" by group.exact="cn=adminwrite,ou=groups,ou=someou,dc=somedc,dc=somedc" write by * read by anonymous none
olcaccess: {1}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
olcaccess: {2}to dn.exact="" by * read
olcaccess: {3}to dn.base="cn=Subschema" by * read
olcdatabase: {-1}frontend
olcsizelimit: 500
属于组“cn=adminwrite,ou=groups,ou=someou,dc=somedc,dc=somedc“应该能够写入子树”ou=someou,dc=somedc,dc=somedc“,但他不是。我不明白这个规则集有什么问题。我也尝试过改变顺序。
用户的 DN 是: cn=经理,ou=用户,ou=someou,dc=somedc,dc=somedc
用户所在组的 memberUID-属性: cn=adminwrite,ou=groups,ou=someou,dc=somedc,dc=somedc“
有人能给我提示吗?我需要几个不同的用户来管理几个子树。
答案1
您正在修改错误的数据库条目。您可能需要类似 的内容dn: olcDatabase={1}hdb,cn=config
。
如果您配置了多个真实后缀,您可以使用 来确定哪一个ldapsearch -b cn=config olcsuffix=dc=example,dc=com dn
。