LDAP (slapd) проблема ACL - может добавить, но не изменить записи

Если выполнение обдумало родительский каталог файла, не включено для Вашего пользователя или группы затем, Вы не можете "искать" в том каталоге.

1
задан 31 May 2012 в 01:12
1 ответ

Если вы хотите разрешить изменение всей записи, вам необходимо полностью удалить параметр attrs = .
Я думаю, вы неправильно понимаете, что делает attrs = entry . Это не позволяет вам изменять всю запись. Атрибут entry предоставляет разрешение только самой записи (, а не ее атрибутам ), что в основном позволяет вам только удалить ее. Атрибут children - это то, что позволяет вам создавать новых дочерних элементов для этой записи. Но как только дочерний элемент создан, вы не можете его изменить, потому что он подпадает под соответствие dn.subtree , а ваш ACL запрещает изменение чего-либо, кроме удаления записи и создания дочерних элементов.

From http://www.openldap.org/doc/admin24/access-control.html :

Есть два специальных псевдоатрибутов: запись и дочерние элементы. Читать (и, следовательно, вернуть) целевую запись, субъект должен иметь доступ для чтения к атрибуту записи цели. Для проведения поиска субъект должен иметь доступ для поиска к атрибуту записи базы поиска. Добавить или удалить запись, субъект должен иметь доступ на запись к записи атрибут записи И должен иметь доступ на запись к родительскому элементу записи детский атрибут. Чтобы переименовать запись, у субъекта должна быть запись доступ к атрибуту записи И иметь доступ на запись как к дочерние атрибуты старого и нового родителя. Полный примеры в конце этого раздела должны помочь прояснить ситуацию.

Как уже упоминалось, решение состоит в том, чтобы удалить параметр attrs . Это делает ACL-список по умолчанию для всего, поэтому, когда вы указываете write , он позволяет вам писать для всего в этой записи.

1
ответ дан 4 December 2019 в 01:05

Теги

Похожие вопросы