Страница 1 из 1

OpenLDAP общая и приватная адресные книги

Добавлено: 2017-09-29 23:25:14
Visionman
Приветствую!

ОС FreeBSD 11.0-Release-p11
Управляю каталогом через phpLDAPadmin

Нашел статью по OpenLDAP
http://bigkaa.blogspot.ru/2011/11/openldap.html

https://pro-ldap.ru/tr/admin24/access-control.html
и руководство ещё нашел.
Вроде читал и пробовал, но никак что-то, прошу пожалуйста помочь разобраться и понять, как же всё-таки acl надо написать.

Какую задачу поставил.
Есть адресная книга основанная на OpenLDAP используемая в Web-интерфейсе Roundcubemail.
Требуется сделать общую адресную книгу и личную у каждого сотрудника компании.
С общей вопросов не возникло, с настройками поумолчанию slapd.conf так собственно много лет работало и отлично.

Но вот с личной(приватной) каждому пользователю, какраз вопрос по доступу и возникает.
Как настроить это ?

Идею вижу такую.
1. Создаю контейнер для приватной адресной книги - ou=private,dc=mycompany,dc=lan
2. Создаю контейнер для пользователей, кто будет иметь доступ к личной адресной книге ou=users,dc=mycompany,dc=lan

Моя структура каталога сейчас

Код: Выделить всё

+--> dc=mycompany,dc=lan (3)
 +--> ou=addressbook (2) ---->>>> общая адресная книга
 | ---> cn=user_test
 | ---> cn=Тест Запись
 | ---> Создать новый
 +--> ou=private (1) ---->>>> ou=private,dc=mycompany,dc=lan
 | ---> cn=Name User ---->>>> адресная книга пользователя и в ней контакты и так для всех
 | ---> Создать новый
 +--> ou=users (1) ---->>>> ou=users,dc=mycompany,dc=lan
 | ---> cn=info ---->>>> пользователь info у которого есть право доступа в приватную адресную книгу
 | ---> Создать новый
 ---> Создать новый
Acl такие сейчас

Код: Выделить всё

# cat slapd.conf

Код: Выделить всё

~~~~~~~~~~~~~~~~~~~~~~~
access to * by * read

access to attrs=userPassword
       by self write
       by anonymous auth
       by * none

access to dn.subtree="ou=private,dc=mycompany,dc=lan"
        by self write
        by users write
        by * none

~~~~~~~~~~~~~~~~~~~~~~~~~        
Ещё пробовал так

Код: Выделить всё

access to dn.base="ou=private,dc=mycompany,dc=lan"
        by dn.base="cn=info,ou=users,dc=mycompany,dc=lan" write
        by * none
Смысл в том, что пользователь info может менять свою адресную книгу в контейнере private

Или я ошибаюсь в понимании логики работы OpenLDAP ?
Объясните пожалуйста.

Есть вот статья http://www.lissyara.su/articles/freebsd ... dressbook/
В комментария там мелькает, что разграничить доступ можно.
Но примера нету к сожалению.

OpenLDAP общая и приватная адресные книги

Добавлено: 2017-12-08 19:22:52
Alex Keda
нифига не понял =(

OpenLDAP общая и приватная адресные книги

Добавлено: 2017-12-11 6:33:43
FiL
a зачем личные адресные книги в лдап? общая - да. А личные пусть так и лежат в базе, где их roundcube и предполагает держать.