Начал изучать ldap. Возникли некоторые трудности на начальном этапе.
В корне есть 2 подкаталога: book и people. Нужно сделать такое:1) в конфиге ldap'a разрешить доступ только admin'y ldap'a, юзерам book_rw, book_ro, people_ro соответственно к каталогам book, people соответствующими правами:
book_rw --> book (read/write access)
book_ro --> book (read only access)
people_rw --> people (write access)то есть пользователь book_rw/book_ro вообще не должен иметь доступ к подкаталогу people и наоборот.
Остальным вообще запретить доступ к каталогу полностью.
2) как правильно создать юзера и назначить ему права на определённый каталог?
3) Если я правильно понял, то создав юзера в подкаталоге users, выше этого подкаталога доступ он не получит? Или нужно отдельно выставлять доступы?
Пробовал через phpldapadmin, lam но захотелось именно через консольку. В любом случае, каким способом лучше всего это делать?
В самом slapd.conf идут примеры
>В самом slapd.conf идут примерыТам не совсем то, что нужно. Пока не могу понять логику.
>>В самом slapd.conf идут примеры
>
>Там не совсем то, что нужно. Пока не могу понять логику.Как то так
access to dn.base="ou=book"
by self write
by dn.one="uid=book_rw,dc=example,dc=com" write
by dn.one="uid=book_ro,dc=example,dc=com" read
by anonymous none
by * none
>[оверквотинг удален]
>>Там не совсем то, что нужно. Пока не могу понять логику.
>
>Как то так
>
>access to dn.base="ou=book"
> by self write
> by dn.one="uid=book_rw,dc=example,dc=com" write
> by dn.one="uid=book_ro,dc=example,dc=com" read
> by anonymous none
> by * noneСпасибо частично получилось. Не получается дать права на запись. Сейчас у меня настроено так:
access to dn.base="" by * read
access to dn.base="cn=Subschema" by * readaccess to attrs=userPassword
by self read
by anonymous authaccess to dn.subtree="ou=addressbook,dc=domain,dc=lin"
by dn="cn=book_ro,ou=people,dc=domain,dc=lin" read
by dn="cn=book_rw,ou=people,dc=domain,dc=lin" write
by self write
by * authaccess to *
by dn="cn=admin,dc=domain,dc=lin" write
by anonymous auth
by users read
by * noneНо пользователь book_rw не может писать в каталог ou=addressbook,dc=domain,dc=lin. В чём может быть ошибка?
Вот тебе рабочий пример:access to attrs=userPassword
by self write
by group/groupOfUniqueNames/uniqueMember= "cn=admgroup,ou=DSA,dc=addressbook,dc=lan" write
by anonymous auth
by * noneaccess to dn.sub="ou=system,dc=addressbook,dc=lan"
by * authaccess to dn.sub="ou=DSA,dc=addressbook,dc=lan"
by group/groupOfUniqueNames/uniqueMember="cn=admgroup,ou=DSA,dc=addressbook,dc=lan" write
by group/groupOfUniqueNames/uniqueMember="cn=usrgroup,ou=DSA,dc=addressbook,dc=lan" read
by anonymous auth
by * noneaccess to dn.sub="ou=people,dc=addressbook,dc=lan"
by anonymous auth
by group/groupOfUniqueNames/uniqueMember="cn=admgroup,ou=DSA,dc=addressbook,dc=lan" write
by group/groupOfUniqueNames/uniqueMember="cn=usrgroup,ou=DSA,dc=addressbook,dc=lan" read
by * noneaccess to *
by * none
пользователи хранятся в ou=DSA и их можно редактировать членам группы cn=admgroup,ou=DSA
2 встроенных пользователя хранятся в ou=system и их можно редактировать только от root dn
доступ к ou=system - только авторизация
доступ на чтение - членам cn=usrgroup,ou=DSA
доступ на запись - членам cn=admgroup,ou=DSA
добавляя юзверей в группу - даём соответствующий доступ без редактирования slapd.conf
сравнивай, разбирайся.