我正在尝试授予某些帐户对其authzTo
属性的身份验证访问权限,以便允许代理授权。
我尝试添加这个 ldif:
dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcAccess
olcAccess: {1}to authzTo by dn.children="ou=Special Accounts,dc=example,dc=com" auth
-
使用命令ldapadd -f perm.ldif -D "cn=admin,cn=config" -W
但出现此错误:
modifying entry "olcDatabase={-1}frontend,cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
additional info: <olcAccess> handler exited with 1
使用详细输出并调高调试级别并没有给我提供任何线索。有人能看出我做错了什么吗?
答案1
在处理其他一些权限后,我意识到自己在做什么蠢事。它应该是attrs=authzTo
,而不是单独authzTo
存在。我真正想要的是
to dn.children="ou=Special Accounts,dc=example,dc=com" attrs=authzTo by self auth
答案2
编辑:OP 明确询问的是“auth”,而不是“write”访问权限,所以这个答案不太相关。
我意识到我提出这个问题已经晚了 8 年,但我认为需要注意的是,允许对自己的 authzTo 属性进行写访问是一个坏主意。
源规则非常强大。如果普通用户有权在自己的条目中写入 authzTo 属性,那么他们就可以编写允许他们以任何其他人的身份进行授权的规则。因此,在使用源规则时,应使用 ACL 保护 authzTo 属性,仅允许特权用户设置其值。