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

Установка OpenLDAP в Fedora 12: ldap_bind: неверные учетные данные (49)

Я пытался установить OpenLDAP, установленный по умолчанию в Fedora 12, но безуспешно. Моя конечная цель - использовать аутентификацию LDAP для входа пользователя и Apache, используя сервер OpenLDAP, работающий на одном компьютере.

Сервер работает, но я всегда получаю ошибку, когда пытаюсь использовать ldapsearch или ldapadd: ldap_bind: неверные учетные данные (49)

Я слежу за этими руководствами, но ни один из них мне не помог:

Во-первых, некоторые компоненты уже были установлены, и я установил их с помощью yum:

yum install openldap-servers openldap-devel

Затем я создал базовый файл slapd.conf в / etc / openldap:

database        bdb
suffix          "dc=sniejana-sandbox,dc=com"
rootdn          "cn=root,dc=sniejana-sandbox,dc=com"
rootpw          {SSHA}cxdz55ygPu4T3ykg7dgu+L0VRvsFSeom
directory       /var/lib/ldap/sniejana-sandbox.com

Я получил rootpw с помощью этой команды:

slappasswd -s changeme

Я также создал /var/lib/ldap/sniejana-sandbox.com каталог и убедился, что все содержимое /var/lib/ldap принадлежали пользователю ldap.

Я нашел два файла ldap.conf, один в / etc и один в / etc / openldap. Я не знаю, какой из них правильный. Если я правильно понял, это файл для настройки клиента. Я вставил это в оба:

HOST localhost
BASE dc=sniejana-sandbox,dc=com

Затем я запустил сервер с:

service slapd start

Он сказал ОК.

В большинстве приведенных выше руководств говорится об использовании команды ldapsearch -D "cn=Manager,dc=my-domain,dc=com" -W чтобы убедиться, что все работает. Когда я выполняю эту команду, появляется запрос пароля, и после ввода пароля я получаю сообщение об ошибке.

ldapsearch -D "cn=root,dc=sniejana-sandbox,dc=com" -W
Enter LDAP password:
ldap_bind: Invalid credentials (49)

То же самое происходит при попытке использовать ldapadd. Я пробовал использовать зашифрованный и незашифрованный пароль в slapd.conf, ничего не меняет. Добавление -x для простой аутентификации тоже ничего не меняет.

netstat -ap подтверждает, что сервер прослушивает:

tcp   0   0 *:ldap    *:*       LISTEN      4148/slapd          
tcp   0   0 *:ldap    *:*       LISTEN      4148/slapd

ps -ef | grep slapd подтверждает, что процесс запущен:

ldap   4148  1  0 15:22 ?   00:00:00 /usr/sbin/slapd -h  ldap:/// -u ldap

Запуск Slaptest Procudes тестирование файла конфигурации прошло успешно.

Я где-то читал, что команда ldapsearch -x -b '' -s base '(objectclass=*)' namingContext может подтвердить, что сервер работает. Кажется, работает:

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContext 
#

#
dn:

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

У меня заканчиваются идеи. Я упускаю что-то очевидное?

Ага! Моя проблема решена! Мне просто нужно удалить каталог, используя rm -rf /etc/openldap/slapd.d. Это заставит OpenLDAP искать мои slapd.conf файл при запуске службы.

Я также столкнулся с той же проблемой, когда попробовал в первый раз.

После анализа я просто удалил /etc/openldap/slapd.d/ каталог, а также удалил содержимое /var/lib/ldap/ каталог (содержащий базу данных). После этого все работает нормально.

Примечание : var/lib/ldap каталог должен существовать, иначе slapd служба никогда не запустится.

Я понял это, прочитав /etc/init.d/slapd сценарий. В этом сценарии они слепо проверяют, /etc/openldap/slapd.d каталог существует или нет. Если да, значит, они просто проигнорировали slapd.conf файл. Этот сценарий также проверяет, существует ли база данных в /var/lib/ldap/ каталог. Если да, значит, они используют эту базу данных, иначе они создают новую пустую базу данных.

/etc/openldap/slapd.d каталог точно содержит информацию о конфигурации в структуре данных каталога, которая используется вместо slapd.conf файл. Думаю, Fedora по умолчанию использует этот каталог.

У меня тоже есть проблема с openldap в Fedora 12! Но если вы попытаетесь запустить openldap вручную, используя следующую команду, его поведение станет нормальным. / usr / sbin / slapd -f /etc/openldap/slapd.conf

Я подозреваю, что команда по умолчанию (я имею в виду «запуск службы slapd») не загружает файл конфигурации openldap (я имею в виду /etc/openldap/slapd.conf), который я создаю вручную после установки yum.