0

我在 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为管理员,并使memberapplications具有只读访问权限。其他所有人都必须进行身份验证。

如果我按上述顺序拥有 ACL,那么对于 ACL 3,我无法userPassword使用管理员帐户读取/编辑任何用户的字段。如果我在 1 和 2 之前有 ACL 3,则 ACL 1 和 2 不起作用。

我需要遵循 ACL 的任何特定顺序吗?这 3 个 ACL 可以合并为一个 ACL 吗?

4

1 回答 1

0

我必须按如下方式更改 ACL 2

2. access to attrs=userPassword
    filter="(&(objectClass=customAttributes)(statusCode=A))"
    by self =wx
    by group.exact="cn=administrators,dc=mycompany,dc=com" write
    by * =x

by * =x原因:早期的 ACL 3 没有执行,因为我在 ACL 2 ( )中拥有其他所有内容的只读权限。

于 2013-04-17T23:12:42.767 回答