與 OpenLDAP 配置作鬥爭(在 AWS EC2 上)

與 OpenLDAP 配置作鬥爭(在 AWS EC2 上)

我一直在使用 AWS EC2 在 Linux 執行個體上配置 LDAP 伺服器。到目前為止,我已成功設定 LDAP 和 phpLDAPadmin 一起工作。

我已經創建了使用者和群組“組織單位”。我已將使用者和群組新增至這些「OU」。現在我想將 LDAP 樹的特定部分的存取權限授予「群組」的「使用者」成員。這就是我到目前為止無法配置的...

我的 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 加入到「app1_users」的「memberUid」清單中,將 user2 + user3 加入到「app2_users」的「memberUid」清單中。

我想:

  • 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

對我來說,以下組成員資格語法有效:

access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
    by group/groupOfNames/member.exact="cn=app2_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

我不確定這是否能解決您的問題,因為我不知道如何phpLDAPadmin運作。

如果phpLDAPadmin有自己的存取控制規則,您也必須修改它們。

相關內容