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

Не удается получить доступ к cn = config через графический интерфейс Apache Directory Studio

Я хорошо знаком с openldap. Динамическая конфигурация для меня совершенно нова. Поэтому я хотел облегчить жизнь и изменить openldap настройка через графический интерфейс Apache Directory Studio.

Openldap установлен на Debian Jessie и версии slapd 2.4.40 + dfsg-1 + deb8u1 amd64

Пытался пойти по этому пути: http://gos.si/blog/installing-openldap-on-debian-squeeze-with-olc

Но я не могу получить к нему доступ:

ldapsearch -b cn=config -D cn=admin,dc=domain -W
result: 32 No such object

Сначала я подумал, что это связано с ACL, и удалил все, но без изменений.

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config работает

Так почему же у olcRootDN нет прав? Также в графическом интерфейсе я не вижу cn = config. Заранее благодарю за любую помощь!

Так что я отвечаю на него сам, теперь понял, большая путаница и непонимание динамической конфигурации. Может у кого-то такая же проблема:

Есть разница между olcRootDN в dn: olcDatabase={1}mdb,cn=config and dn: olcDatabase={0}config,cn=config

в моем случае olcRootDN в olcDatabase={0}config,cn=config не ставился вообще. Итак, я добавил его, как описано в ссылке, а также olcRootPW.

Теперь я могу получить доступ к cn=config в графическом интерфейсе Apache Directory Studio и редактировать его удобно. Хорошо иметь два разных пароля, чтобы случайно не удалить что-то в cn=config

@Adambean спрашивает, как это сделал OP.

Один из способов сделать это - создать файл ldif (например, config.ldif), содержащий:

# uncomment this part, if there is no olcRootDN present
# use replace instead of add, if you want to change the root dn
#dn: olcDatabase={0}config,cn=config
#changetype: modify
#add: olcRootDN
#olcRootDN: cn=admin,cn=config

dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW 
olcRootPW: <secret>

Вы можете создать секрет, используя:

sudo slappasswd

Затем просто скопируйте / вставьте {SHAA}blahblahhashvaluegoeshereblah в olcRootPW: <field> вашего файла ldif.

И измените его с помощью ldapmodify

sudo ldapmodify -Y EXTERNAL -H ldapi:// -f config.ldif

Это должно сработать.