挣扎于OpenLDAP配置(在AWS EC2上)

时间:2017-01-18 11:01:06

标签: amazon-ec2 ldap openldap access-control phpldapadmin

我使用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"。

的列表

我想:

  • cn = admin拥有对树的完全权限/访问权
  • app1_users可以连接(到phpLDAPadmin)并将新成员添加到组本身
  • 同样适用于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

我的配置有问题吗?

1 个答案:

答案 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

通常,将您的规则逐一添加到列表中 - 以这种方式观察效果会更容易。