我想修改 LDAP 数据库中的某些权限,因此我注意到 slapd.conf 已不存在。我想做的是将以下几行添加到 slapd.conf 中:
access to dn.subtree="ou=contacts,dc=example,dc=org"
by self write
by dn="cn=addressbookuser,ou=people,dc=example,dc=org" write
by * break
我该如何用新方法来做到这一点?
答案1
@lsd 在文档上是正确的。
我将添加一个例子,以便能够帮助您快速入门。
echo "dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.subtree=\"ou=contacts,dc=example,dc=org\"
by self write
by dn=\"cn=addressbookuser,ou=people,dc=example,dc=org\" write
by * break
" | ldapmodify -H ldapi:/// -Y external
您还可以将 ldif 保存到文件并使用,-f <file>
而不是从 stdin 进行管道传输,并避免必须转义 s "
。
答案2
您可能设置了动态配置。请参阅第 8.3 节https://www.openldap.org/doc/admin24/access-control.html
我自己从来没有这样做过(我在 openldap 2.4 之前切换到 freeipa),但基本上你必须创建一个包含你想要的特定 acl 的 ldif 文件,然后使用 ldap 命令编辑动态配置(第 8.3.5 节有一些示例)。