我们的openldap有多个组:useradmins,agt,ib,iss,itt
“useradmins”组始终有权编辑(写入)所有组。我最近执行了一个简单的“yum update”,openldap 已更新。从那时起(大约 3 天前),管理员无法写入(添加或更改用户)。错误是:
访问权限不足 - 没有对父级的写访问权限
...或者,根据我对 slapd.conf 文件的反复试验,有时我会简单地得到:
访问权限不足
我在阅读在线帖子、文档等的同时尝试了不同的设置,编辑了我的 slapd.conf 文件(大约 500 次)。我当前的 slapd.conf 文件如下所示:
...
database bdb
suffix "dc=am5up,dc=com"
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
index entryCSN eq
index entryUUID eq
access to *
by self write
by dn="cn=admin,dc=am5up,dc=com" write
by group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write
by * read
rootdn "cn=admin,dc=am5up,dc=com"
rootpw <hashed pwd>
...
我认为这一行是错误的:
group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write
...但我已经尝试了几十种变化都没有成功。
有人可以提出建议吗?
非常感激。
答案1
因此,根据评论,该组如下:
dn:cn=useradmins,ou=group,dc=am5up,dc=com
cn: 用户管理员
gid编号:10001
会员ID: mscot
对象类:posixGroup
会员ID: nhman
会员ID: taden
会员ID: japid
但根据 acl:
由 group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" 写入
该组应该具有 objectClass groupOfUniqueNames 和 uniqueMember(无论您要授予访问权限的人)。但是如上所示的组没有任何内容,因此您现在可以做两件事:
- 添加 objectClass唯一名称组及其成员唯一成员,ACL一定能起作用。
或者
- 经过一番研究,我发现 posixGroup 只有这样的语法,你可以使用授予 posixGroup 成员访问权限。您必须执行以下操作:
access to * whatever you want by set="user/uid & [cn=useradmins]/memberuid" write by * none
为了 ”用户/uid“如果 memberuids 是成员的实际 uid,则这将适用,否则请输入您正在使用的任何属性。