Мне нужно было создать пользователя (он уже создан) в моей схеме LDAP и я хочу дать этому пользователю права на чтение / запись, как если бы он был администратором, но только для определенного поддерева.
Дело в том, что я добавил ACL в slapd.conf
как это:
access to dn.subtree="dc=domain,dc=com,o=isp" by dn="cn=user,dc=domain,dc=com,o=isp" manage by * none
Когда я вхожу в phpldapadmin
с этим пользователем я ничего не вижу из поддерева, но получаю сообщение:
o=isp This base entry does not exist. Create it?
Эта запись действительно существует, поэтому что-то не работает.
Если изменить атрибут ACL внутри slapd.conf
к этому:
access to * by dn="cn=user,dc=domain,dc=com,o=isp" manage by * none
Затем, когда я вхожу в систему, я могу видеть всю схему и поддеревья, но хочу предоставить привилегии только для определенных dn
, а не вся схема.
Я нашел проблему.
Я изменил следующую строчку внутри /etc/phpladadmin/config.php
:
$servers->setValue('server','base',array('dc=domain,dc=com,o=isp'));
Итак, теперь, когда я вхожу в phpladadmn, я вижу правильную схему поддерева с пользователем, который имеет правильные привилегии.