如何向 openldap 用户授予特定权限?

如何向 openldap 用户授予特定权限?

我想创建一个除管理员用户之外的用户,该用户应该有权更新密码以及在 openldap 中创建另一个用户。我尝试使用以下 ldif 文件配置用户。但它没有按预期工作,并引发错误“未经授权的用户正在为其他用户更新密码”

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {1}to *
by dn="cn=usrmanager,dc=example,dc=com" write

为什么会这样? 合适的配置是什么?

答案1

您首先需要查看现有的 ACL,因为它们是依次处理的。您很可能有一些先前的规则,只允许自行编辑密码,也许还有一些用于备份或复制的读取权限,……无论如何,您的规则可能不会被评估,就用户密码而言。

附注:您的 ACL 可能太大。您将允许您的usrmanager帐户在任何地方重写几乎任何属性。

olcAccess: {X}to attrs=userPassword by dn="<an-admin-account-dn>" write
    by self write
    by dn="<some-syncrepl-or-backup-account>" read
    by anonymous auth

相关内容