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

Пользователь не найден для cn = config в OpenLDAP?

Мы запускаем OpenLDAP в Ubuntu 10.04. Я могу получить доступ и использовать интерфейс с cn=admin,dc=ourcompany,dc=com и мой пароль.

Но я не могу изменить конфигурацию сервера (например, уровень журнала), хранящуюся в cn=config потому что у меня нет действующего пользователя / пароля для бэкэнда?

Некоторые примеры:

# ldapsearch
SASL/DIGEST-MD5 authentication started
Please enter your password: 
ldap_sasl_interactive_bind_s: Invalid credentials (49)
    additional info: SASL(-13): user not found: no secret in database

или

# ldapadd -x -D "cn=admin,cn=config" -W -f "my.ldif""
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)

Как мне создать пользователя для cn=config backend?

Конфигурация Ubuntu по умолчанию устанавливает cn = admin, dn = example, dn = com как root dn для серверной части, но требует аутентификации SASL как root для изменения онлайн-конфигурации. Ты можешь использовать:

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config olcAccess

чтобы перечислить ACL для вашей конфигурации

чтобы добавить файл ldif, попробуйте:

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f "my.ldif"

предполагая, что сервер LDAP находится на локальном компьютере. Если вы хотите, чтобы ваша исходная команда работала, вам нужно будет добавить пользователя cn = admin, cn = config и либо указать его как rootdn базы данных cn = config, либо настроить ACL для предоставления ей доступа.

Мне не удалось добавить rootdn с помощью инструментов ldap, даже как root, мне также не удалось добавить / изменить ACL для cn = config DIT. Я предполагаю, что, хотя root имеет доступ менеджера, недостаточно добавить rootDN. Следовательно, чтобы добавить rootDN для онлайн-конфигурации, вам необходимо отредактировать конфигурацию вручную. Это не рекомендуется, потому что это может нарушить работу slapd.

Вам нужно сгенерировать хэш пароля с помощью slappasswd, например, "somesecret" slappasswd может генерировать {SSHA} Hg / mI0rBWab3HCysr55B4Ew7 / QmK0LBa

Теперь вы можете добавить RootDN. Первая остановка slapd

sudo service slapd stop

затем отредактируйте /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif с помощью редактора по вашему выбору (например, nano)

sudo nano /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{0\}config.ldif

затем добавьте следующие строки перед строкой «structureObjectClass: olcDatabaseConfig»

olcRootDN: cn=admin,cn=config
olcRootPW: {SSHA}Hg/mI0rBWab3HCysr55B4Ew7/QmK0LBa

затем перезапустите slapd

sudo service slapd start

Теперь вы можете изменить DIT cn = config с помощью простого связывания, используя cn = admin, cn = config; однако я не уверен, что это хорошая идея. Я предпочитаю подключаться к серверу по ssh и получать доступ к конфигурации как root. Некоторые, однако, утверждают, что это сводит на нет все преимущества онлайн-конфигурации, когда вы можете изменять конфигурацию, не останавливая slapd, с помощью любого браузера LDAP, если у вас есть необходимые учетные данные.