Я настраивал сервер LDAP на экземпляре Linux с помощью AWS EC2. До сих пор я успешно настроил 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 в список 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
Что-то не так с моей конфигурацией?
Для меня работает следующий синтаксис членства в группе:
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
имеет свои собственные правила контроля доступа, которые также необходимо изменить.