Подключение к OpenLDAP
Подключение к OpenLDAP
Если Вы находитесь на Linux-сервере, на котором работает демон slapd (OpenLDAP), то подключиться к нему можно несколькими способами. Но прежде, чем подключаться, следует убедиться, что slapd скомпилирован и сконфигурирован должным образом. В общем случае slapd должен быть собран с поддержкой SASL и при запуске у него должен быть правильно настроен URL для подключения.
Необходимые приготовления перед подключением
Если Вы используете slapd из пакета пакетного менеджера ОС, то скорее всего он будет корректно собран. Если же вы собираете его из исходных файлов, то:
- Установить необходимые библиотеки
Cyrus SASL. Для Debian/Ubuntu этоlibsasl2-2 libsasl2-dev - Не забудьте установить флаг при конфигурировании. Вроде бы он собирается по умолчанию с поддержкой SASL, если находит в системе нужные библиотеки, но на всякий случай лучше указать свое желание явно:
./configure --with-cyrus-sasl
Чтобы правильно настроить URL для подключения, его нужно передать в параметре -h при запуске slapd:
slapd -h "ldapi:/// ldap:///"
Небольшая ремарка: в обозначении протокола традиционно используется 2 слеша. Третий слеш указывать на корень. Работать скорее всего будет и с двумя слешами, но видимо так принято в сообществе OpenLDAP.
По умолчанию slapd слушает ldap://-подключения на порту 389. Такой вариант удобно использовать для подключения внешними клиентами, например Apache Directory Studio. Для локальной конфигурации удобно использовать UNIX-сокет, который активируется значением ldapi:///.
Подключение с помощью RootDN (-D)
Чтобы подключиться к серверу LDAP локально нам потребуется RootDN, который должен быть предварительно настроен. Два варианта примера строки подключения в таком случае:
ldapsearch -H ldap://127.0.0.1:389 -D "cn=admin,cn=config" -W -b "cn=config"
ldapsearch -H ldapi:/// -D "cn=admin,cn=config" -W -b "cn=config"
В данном случае мы подключаемся к БД, содержащей динамическую конфигурацию cn=config. RootDN - cn=admin,cn=config.
Для более подробной инструкции по установке и настройке OpenLDAP можно обратиться к этой инструкции
Подключение с помощью EXTERNAL (-Y)
Другой вариант подключения годится только для использования UNIX-сокета. В случае его использования подключение осуществляется с помощью пользователя Linux, под которым данная команда выполняется. Все должно сработать автоматически, но если автоматически не получится, то придется разбираться. На момент написания данной статьи автор в данном кокретном вопросе разобраться не сумел :)
ldapsearch -Y EXTERNAL -H "ldapi:///" -b "cn=config"