我需要您对LDAP结构和相关ACL的建议。
我们的LDAP将管理包含用户的10个(可能不同的数量)组织(总共250个用户) 我希望允许组织中的1个用户管理他自己组织的所有用户。 用户还将附加到自定义组。
最适合的LDAP结构是什么?
我的第一个想法如下: 团体:
dn: cn=Manager,ou=Roles,ou=Groups
objectClass: posixGroup
objectClass: top
cn: Manager
gidNumber: 10100
memberUid: user1
memberUid: user3
dn: cn=Structure1,ou=Structures,ou=Groups
objectClass: posixGroup
cn: Structure1
gidNumber: 10000
description: Structure1
memberUid: user1
memberUid: user2
dn: cn=Structure2,ou=Structures,ou=Groups
objectClass: posixGroup
cn: Structure2
gidNumber: 10001
description: Structure2
memberUid: user3
memberUid: user4
应允许user1编辑用户user2,但不允许编辑user3或user4 应允许user3编辑user1但不允许编辑user2
我实际上卡在ACL上,因为我没有成功使用ACL set方法来使用条目组。 我想做这样的事情:
{1}to dn.children="ou=Users" by set="[cn=]+this/groups+[,ou=Structures,ou=Groups]/memberUid & user/uid" write by * read
如果比posixGroup
更好,我可以使用groupOfNames我已经读过:
答案 0 :(得分:2)
我的贡献是解决这种情况的一种选择。我知道已经有一段时间了,但我希望这有助于那里的人。 - 更改为groupofnames或organizationalrole(最后一个支持空组)都需要dn作为成员。 - 启用成员覆盖,以启用用户的memberof操作属性(这将添加用户所属组的列表,添加到用户条目中的属性) olcMemberOfGroupOC:organizationalRole olcMemberOfMemberAD:roleOccupant olcMemberOfMemberOfAD:groups(“groups”是添加到用户的操作属性)
只要用户(修改者和修改者)具有相同的组,此acl就允许写入,acl将设置写权限。
用户=用户1,OU =用户
“user / groups”获取修改器组属性的值。 cn =经理,ou =角色,ou =团体 - cn = Structure1,ou =结构,ou =团体。
此=用户3,OU =用户
“this / groups”获取修改后的对象组属性的值。 cn =经理,ou =角色,ou =群组和cn = Structure2,ou =结构,ou =群组
此=用户2,OU =用户
“this / groups”获取修改后的对象组属性的值。 cn =经理,ou =角色,ou =团体和 cn = Structure1,ou =结构,ou =团体
我希望这可以解决这个问题,并且对于那些在几天前就像我做的那样与openldap acl挣扎的人一样有用。
最好的问候!!