![Проблемы с конфигурацией OpenLDAP (на AWS EC2)](https://rvso.com/image/697020/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B%20%D1%81%20%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B5%D0%B9%20OpenLDAP%20(%D0%BD%D0%B0%20AWS%20EC2).png)
Я настраивал сервер LDAP на экземпляре Linux с помощью AWS EC2. До сих пор мне удавалось успешно настраивать LDAP и phpLDAPadmin для совместной работы.
Я создал пользователей и группы "Organisation Units". Я добавил пользователей и группы в эти "OU". Теперь я хочу предоставить доступ к определенным частям моего дерева LDAP членам "Users" "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
Для меня работает следующий синтаксис для членства в группе:
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
у вас есть собственные правила контроля доступа, вам также придется изменить их.