我在 slapd.conf 文件中有 3 个 ACL。
1. access to attrs=userPassword
filter="(&(objectClass=customAttributes)(!(statusCode=A)))"
by * none
2. access to attrs=userPassword
filter="(&(objectClass=customAttributes)(statusCode=A))"
by self =wx
by * =x
3. access to dn.subtree="dc=mycompany,dc=com"
by self write
by group.exact="cn=administrators,dc=mycompany,dc=com" write
by group.exact="cn=applications,dc=mycompany,dc=com" read
by * auth
ACL 1 和 2 的目的是禁用状态代码不是 A 的任何用户。它工作正常。ACL 3 的目的是使member
组成administrators
为管理员,并使member
组applications
具有只读访问权限。其他所有人都必须进行身份验证。
如果我按上述顺序拥有 ACL,那么对于 ACL 3,我无法userPassword
使用管理员帐户读取/编辑任何用户的字段。如果我在 1 和 2 之前有 ACL 3,则 ACL 1 和 2 不起作用。
我需要遵循 ACL 的任何特定顺序吗?这 3 个 ACL 可以合并为一个 ACL 吗?