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

Невозможно изменить ACL в ldap с корневым dn

Мне нужно изменить ACL в моей конфигурации slapd (на основе olc), но я всегда получаю ошибку 50, даже если я использую rootdn

$ldapmodify -x -D "cn=<here>,dc=<some>,dc=<thing>" -W -H ldap:// -f some_acl.ldif
Enter LDAP Password:
modifying entry "olcDatabase={1}mdb,cn=config"
ldap_modify: Insufficient access (50)

где some_acl.ldif файл содержит

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=<someattr> by self write by anonymous auth
...

Если я проверю текущую конфигурацию с помощью slapcat -n 0 -l "$BACKUP_DIR/config.ldif"; я могу видеть

dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /path/to/some/dir
olcSuffix: dc=<some>,dc=<thing>
olcAccess: {0}to <...>
olcLastMod: TRUE
olcRootDN: cn=<here>,dc=<some>,dc=<thing>
olcRootPW:: <stuff which is different from the hash of the password>

Теперь, предполагая, что "cn=<here>,dc=<some>,dc=<thing>" существует, и это rootdn (и это то же самое в olcRootDN), я не понимаю, почему я получаю сообщение об отсутствующих привилегиях и как исправить эту ситуацию.

Любая помощь будет принята с благодарностью, и дайте мне знать, если я могу предоставить более подробную информацию.

Спасибо!