Назад | Перейти на главную страницу

LDAP - предоставить пользователю разрешение на запись в группу / организационную единицу

Я пытался предоставить cn=admin,ou=Administrators,dc=example,dc=com полный доступ на запись к ou=People,dc=example,dc=com чтобы этот администратор мог создавать (и, конечно же, читать) новые записи в ou=People а также может их изменять (например, менять пароли).

Мой файл ldif выглядит как

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {4}to dn.subtree="ou=People,dc=example,dc=com" by dn.exact="cn=admin,ou=Administrators,dc=example,dc=com" write

После запуска с ldapadd -Y EXTERNAL -H ldapi:/// -f permission.ldif, Я только что получил

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}mdb,cn=config"

Кто-нибудь может объяснить, что здесь не так и как это исправить? Пробовал довольно много вещей, которые нашел в сети.

После еще нескольких проб и ошибок я нашел рабочее решение.

Взгляните на этот ldif:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: {0}to attrs=userPassword by self write by dn="cn=admin,ou=Administrators,dc=example,dc=com" write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to dn.subtree="ou=People,dc=example,dc=com" by dn.exact="ccn=admin,ou=Administrators,dc=example,dc=com" write
olcAccess: {3}to * by * read

/ edit: Ну, это позволяет вам создавать новых пользователей в ou = People, но вы не можете изменить их все атрибуты.