我使用AWS EC2在Linux实例上配置LDAP服务器。 到目前为止,我成功地设置了LDAP和phpLDAPadmin来协同工作。
我创建了用户和群组"组织单位"。我已将用户和群组添加到" OU" s。 现在我想对我的LDAP树的特定部分进行访问"用户" " Group"的成员。那是我迄今为止无法配置的......
我的LDAP树看起来像这样:
+--> dc=www,dc=website,dc=com (3)
---> cn=admin
+--> ou=groups (4)
| ---> cn=admin_users
| ---> cn=app1_users
| ---> cn=app2_users
| ---> cn=basic_users
+--> ou=users (3)
| ---> cn=user1
| ---> cn=user2
| ---> cn=user3
我们假设我将user1 + user2添加到" memberUid" " app1_users"的列表和user2 + user3到" memberUid" " app2_users"。
的列表我想:
连接用户(在phpLDAPadmin上)应该只能看到他所属的树(和子子树)。
以下是我试过的ACI(但是他的作品无效):
access to attrs=shadowLastChange
by self write
by dn="cn=admin,dc=www,dc=website,dc=com" write
by * read
access to attrs=userPassword
by self write
by dn="cn=admin,dc=www,dc=website,dc=com" write
by anonymous auth by * none
access to dn.base=""
by * read
access to dn.subtree="cn=app1_users,ou=groups,dc=www,dc=website,dc=com"
by group.base="cn=app1_users,dc=www,dc=website,dc=com" write
by dn.base="cn=admin,dc=www,dc=website,dc=com" write
by * none
access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
by group.base="cn=app2_users,dc=www,dc=website,dc=com" write
by dn.base="cn=admin,dc=www,dc=website,dc=com" write
by * none
access to *
by self write
by dn="cn=admin,dc=www,dc=website,dc=com" write
by * read
我的配置有问题吗?
答案 0 :(得分:0)
如果您的rootDn是cn=admin,...
,则它拥有所有权利,不应在您自己的访问规则中解决。
对于群组管理,请尝试:
access to dn.base="cn=app1_users,ou=groups,dc=www,dc=website,dc=com"
by group.exact="cn=app1_users,dc=www,dc=website,dc=com" write
隐含的最后一条规则access to * by * none
,因此您自己的规则中不需要by * none
。
通常,将您的规则逐一添加到列表中 - 以这种方式观察效果会更容易。