Как разрешить пользователям на сервере openLDAP создавать, обновлять и изменять пользователей в определенном организационном подразделении?

Я застрял, пытаясь разрешить пользователям openLDAP, которые находятся в определенной группе (Пример: cn = Admins, dc = mydomain, dc = com ), до создавать, изменять, обновлять и удалять пользователей, которые находятся в другом организационном подразделении (Пример: ou = Users, dc = mydomain, dc = com ) уже около двух недель. Я сделал все, что в моих силах, чтобы разобраться в этом. Например, поиск через Google, поиск через сбой сервера и, наконец, поиск через stackoverflow , но безрезультатно. Я новичок в openLDAP, и, вероятно, это ошибка и / или что-то, что я упускаю из виду с атрибутом olcAccess в dn: olcDatabase = {1} hdb, cn = config .

Admin Group.ldif

dn: cn=Admins,dc=ldapserver,dc=com
changetype: add
objectClass: groupOfNames
objectClass: top
member: cn=admin,ou=Users,dc=ldapserver,dc=com
cn: Admins

Users.ldif

dn: ou=Users,dc=ldapserver,dc=com
changetype: add
objectClass: organizationalUnit
objectClass: top
ou: Users

OlcAccess по умолчанию

Примечание: Это списки ACL по умолчанию, которые поставляются с новой установкой сервера openLDAP.

dn: olcDatabase={1}hdb,cn=config
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * read

Обратите внимание на 1: Поскольку я новичок в openLDAP, я не устанавливал никаких других ACL , кроме тех, которые появляются по умолчанию при первой установке сервера openLDAP.

Обратите внимание на 2: Alex

1
задан 23 May 2017 в 14:33
1 ответ

ACL в openldap всегда оцениваются сверху вниз в списке строк с номерами {0}, {1}, .. Как только условие выполнено, оценка немедленно остановлена ​​(предполагается, что прерывание не используется).

В списках ACL по умолчанию, установленных Ubuntu и соответствующих требованиям, есть строка:

olcAccess: {2} to * by * read

to * by *: все встретил, добавление строк после не имеет никакого эффекта.

Решение, обсуждавшееся на this ссылка и выше должна решить вашу проблему, я предлагаю вам попробовать этот список ACL:

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to dn.subtree="ou=Users,dc=ldapserver,dc=com"
             by group/groupOfUniqueNames/uniqueMember="cn=Admins,dc=ldapserver,dc=com" write

и изменить objectClass группы администраторов на groupOfUniqueNames.

1
ответ дан 3 December 2019 в 23:44

Теги

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