Я начинаю работать с openLdap 2.4, и у меня небольшие проблемы, все примеры, которые я вижу, похоже, относятся к предыдущим версиям, в которых использовался текстовый файл конфигурации slapd.conf, но из того, что я вижу в обсуждениях по v2.4, это было устарело.
Я подумал, что, возможно, мне нужно добавить пользователя и войти в систему как он> но когда я пытаюсь запустить команду ldapadd, я получаю приглашение ввести пароль:
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
Примечания: Я установил сервер openldap через yum (в Fedora 15) и установил phpldapadmin, но также могу попробовать что-то в командной строке, если у кого-то есть предложения.
После установки и запуска я получаю следующий ответ от поиска:
# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
# extended LDIF
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
dn:
namingContexts: dc=my-domain,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
Я рад удалить и переустановить сервер, если это поможет, может ли кто-нибудь дать ссылку на советы, которые подходят для версии 2.4 для новой установки?
Это старый вариант, но вопросы и ответы на них часто появляются при поиске. Сначала запустите slappasswd, чтобы сгенерировать пароль.
slappasswd
New password: ************
Re-enter new password: *************
{SSHA}OM5mbC3/kQPAg8MH6FOqXkATjLjt2IZ2
Затем используйте это значение для заполнения конфигурации вашего бэкенда.
ldapmodify -Q -Y EXTERNAL -H ldapi:/// << E0F
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}qUoTRPwppaedqHQTgYOPYWokr3SiXjbK
E0F
Ваш DNS может отличаться от указанного здесь. Базы данных конфигурации находятся в RHEL7 в /etc/openldap/slapd.d/cn=config. Теперь вы можете войти в систему, используя rootdn по умолчанию.
При желании вы можете установить собственное значение для корневого dn:
ldapmodify -Q -Y EXTERNAL -H ldapi:/// << E0F
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=manager,dc=example,dc=com
E0F
slapd.conf по-прежнему работает в OpenLDAP 2.4, однако в документации он может быть «не выделен».
Вот мое рабочее решение:
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config olcRootDN=cn=admin,dc=my,dc=company,dc=com dn olcRootDN olcRootPW
Теперь создайте новый пароль:
NEW_PWD={{TYPE_NEW_PASSWORD_HERE}}
PWD_HASH=$(slappasswd -s ${NEW_PWD})
echo "Your password hash is \"${PWD_HASH}\"."
Вставьте следующий код:
ldapmodify -Y EXTERNAL -H ldapi:/// << E0F
dn: olcDatabase={1}mdb,cn=config
replace: olcRootPW
olcRootPW: ${PWD_HASH}
E0F
Ты получишь:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: olcDatabase={1}mdb,cn=config
olcRootDN: cn=admin,dc=my,dc=company,dc=com
olcRootPW: {SSHA}k1S8N/A4eb7Ds8oBgAhb9TmPfVT9vl2U
Чтобы исправить два пароля доступа (старый и новый), вставьте:
OLD_PWD=admin
ldappasswd -h localhost -p 389 -x -D "cn=admin,dc=my,dc=company,dc=com" -w "${OLD_PWD}" -a "${OLD_PWD}" -s "${NEW_PWD}"