无法获得OpenLDAPpipe理ACL的工作

我在OpenLDAP域中创build了一个名为Admins的Posix组,并添加了一个用户。

然后,我将以下内容添加到我的slapd.conf文件中

access to attrs=userPassword,shadowLastChange by dn="@ADMIN@" write by dn="cn=admin,ou=Groups,dc=xxxxxxxxx,dc=xx,dc=uk" write by anonymous auth by self write by * none access to dn.base="" by * read access to * by dn="@ADMIN@" write by dn="cn=admin,ou=Groups,dc=xxxxx,dc=xx,dc=uk" write by * read 

然后,我创build了一个用户并将其添加到pipe理员组,但用户没有获得我期待的写入权限。

我是OpenLDAP的新手,我相信我错过了一些显而易见的事情,但我似乎无法在本网站或其他网站上find任何答案。

replaceby dn="cn=admin,ou=Groups,dc=example,dc=com" writeby group.exact="cn=admin,ou=Groups,dc=example,dc=com" write

另外,停止使用slapd.conf并开始使用slapd-config 。 这样,每次更改时都不必重新启动ldap服务器。


另外,如果你想直接在基本后缀下添加/删除一个条目,你需要access to dn.base="" by * read删除access to dn.base="" by * read

检索posixGroup的成员(例如设置ACL)与从groupOfNames中检索它们不同。

为此,请检查处理相同问题的链接内容 。

为了有效地testing组的权限,您应该将ACL限制为如下一行:

 access to * by set="[cn=Admins,ou=Groups,dc=xxx,dc=co,dc=uk]/memberUid & user/uid" write by users read by anonymous auth 

此访问控制为组成员提供写权限,向其他用户读取权限并将权限连接至匿名。

当然这条线通常不足,但这是另一个话题。