URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89261
[ Назад ]

Исходное сообщение
"ldap и несколько простейших операций"

Отправлено skeletor , 29-Июн-10 16:42 
Начал изучать 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 но захотелось именно через консольку. В любом случае, каким способом лучше всего это делать?


Содержание

Сообщения в этом обсуждении
"ldap и несколько простейших операций"
Отправлено ALex_hha , 29-Июн-10 18:22 
В самом slapd.conf идут примеры

"ldap и несколько простейших операций"
Отправлено skeletor , 29-Июн-10 18:25 
>В самом slapd.conf идут примеры

Там не совсем то, что нужно. Пока не могу понять логику.


"ldap и несколько простейших операций"
Отправлено ALex_hha , 29-Июн-10 18:49 
>>В самом 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


"ldap и несколько простейших операций"
Отправлено skeletor , 02-Июл-10 11:55 
>[оверквотинг удален]
>>Там не совсем то, что нужно. Пока не могу понять логику.
>
>Как то так
>
>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 * read

access to attrs=userPassword
    by self read
    by anonymous auth

access 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 * auth

access 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. В чём может быть ошибка?


"ldap и несколько простейших операций"
Отправлено DogEater , 05-Июл-10 18:01 
Вот тебе рабочий пример:

access to attrs=userPassword
    by self write
    by group/groupOfUniqueNames/uniqueMember=  "cn=admgroup,ou=DSA,dc=addressbook,dc=lan" write
    by anonymous auth
    by * none

access to dn.sub="ou=system,dc=addressbook,dc=lan"
    by * auth

access 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 * none

access 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 * none

access 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
сравнивай, разбирайся.