Назад | Перейти на главную страницу

Не удалось заставить работать ACL администратора OpenLDAP

Я создал группу Posix под названием Admins в моем домене OpenLDAP и добавил в нее пользователя.

Затем я добавил в свой файл slapd.conf следующее:

access to attrs=userPassword,shadowLastChange
    by dn="@ADMIN@" write
    by dn="cn=admin,ou=Groups,dc=xxxxxxxxx,dc=xx,dc=uk" write
    by anonymous auth
    by self write
    by * none

access to dn.base=""
    by * read

access to *
    by dn="@ADMIN@" write
    by dn="cn=admin,ou=Groups,dc=xxxxx,dc=xx,dc=uk" write
    by * read

Затем я создал пользователя и добавил его в группу администраторов, но пользователь не получил разрешения на запись, которого я ожидал.

Я новичок в OpenLDAP и уверен, что пропустил что-то очевидное, но, похоже, я не могу найти никаких ответов на этом или других сайтах.

Заменить by dn="cn=admin,ou=Groups,dc=example,dc=com" write с участием by group.exact="cn=admin,ou=Groups,dc=example,dc=com" write.

Кроме того, прекратите использовать slapd.conf и начать использовать slapd-config. Таким образом, вам не нужно перезапускать сервер ldap каждый раз, когда вы вносите изменения.


Кроме того, если вы пытаетесь добавить / удалить запись непосредственно под базовым суффиксом, вам нужно удалить access to dn.base="" by * read.

Получение членов posixGroup (например, установка ACL) отличается от получения их из groupOfNames.

Для этого проверьте это содержание ссылки это касается той же проблемы.

Чтобы эффективно проверить права группы, вы должны ограничить списки ACL одной строкой, например:

access to * 
  by set="[cn=Admins,ou=Groups,dc=xxx,dc=co,dc=uk]/memberUid & user/uid" write 
  by users read 
  by anonymous auth

Этот контроль доступа дает права записи членам группы, права чтения другим пользователям и права подключения к анонимным.

Конечно, этой строчки в целом недостаточно, но это уже другая тема.