LINUX.ORG.RU

Сам спросил, сам ответил.

По большому счёту ты можешь создать пользователя и с помощью ACL обозначить ему любые права в любом LDAP.

zgen ★★★★★ ()
Ответ на: комментарий от Shaman007

Мне надо dn: cn=megaadmin,ou=Group,dc=example,dc=com дать права записи на весь LDAP. Это же будет

dn: dc=example,dc=com
aci: (target="ldap:///dc=example,dc=com")(targetattr=*)(version  3.0; acl "Mega Admin Group Permissions";allow (write)(groupdn = "ldap:///cn=megaadmin,ou=Group,dc=example,dc=com");)
Shaman007 ★★★★★ ()
Последнее исправление: Shaman007 (всего исправлений: 1)
Ответ на: комментарий от Shaman007

синтаксис разный в зависимости от реализации ldap, но если отталкиваться от доки, то выглядит похоже на то что ты написал:

https://directory.fedoraproject.org/docs/389ds/howto/howto-accesscontrol.html

As an example, you can find default aci’s for:

...

members of the configuration administrators group :

aci: (target=«ldap:///dc=test»)(targetattr=«*»)(version 3.0; acl «admin group»
;allow(write) groupdn = "(ldap:///cn=Directory Administrators, dc=sometest";)

Но есть моменты -

1. Надо учесть порядок применения ACL'ей, если их больше одного или если есть default policy (какие раньше применяются, какие позже и как друг на друга накладываются)
2. Надо знать формат группы, которую ожидает твой сервер (чтобы objectclass'ы твоей совпадали с ожидаемой)

zgen ★★★★★ ()
Последнее исправление: zgen (всего исправлений: 2)
Ответ на: комментарий от Shaman007

Вот пример для старого openLDAP (slapd.conf):

access to
by group.exact=«cn=openldap-write,...» write
by * read
by anonymous auth


или для более современного (slapd.d):

...
olcSuffix: dc=...
...
olcAccess: {18}to * by group/groupOfNames/member.exact=«cn=openldap-write,...» write by * read by anonymous auth

zgen ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей