Я следовал описанному здесь руководству , сконфигурировал LDAP , но я продолжаю получать следующую ошибку при запуске «getent passwd», есть ли причина для этого?
Ошибка:
[ 110]Конфигурационные файлы:
vi /etc/ldap.conf
base dc=example,dc=com
uri ldapi:///192.168.4.152/
ldap_version 3
timelimit 4
bind_timelimit 4
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers avahi,avahi-
autoipd,backup,bin,colord,daemon,games,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,nslcd,openldap,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,sync,sys,syslog,usbmux,uucp,whoopsie,www-data
Используйте инструмент командной строки ldapsearch
, чтобы убедиться, что сервер работает и правильные учетные данные:
ldapsearch -D the-dn-you-use -w -the-password-you-use \
-H 192.168.4.152:389 -s base -b dc=example,dc=com '(&)' 1.1
Если ldapsearch
завершается успешно, сервер прослушивает, клиент LDAP имеет достаточные права для выполнения этого поиска, и аутентификация была правильной.
Я использовал официальную документацию и в итоге получил похожие сообщения, хотя getent passwd
показывал записи LDAP в выходных данных. Даже bash завершение имен пользователей работало со значениями LDAP. Когда я попытался id username
с именем пользователя LDAP, он потерпел неудачу и записал те же сообщения об ошибках, что и у вас.
Через несколько минут я вспомнил, что данные LDAP содержали имя администратора cn=admin,dn=...
, в то время как в /etc/ldap.conf
значение rootbinddn
было установлено на cn=mananger,dn=...
. Я изменил /etc/ldap.conf
, чтобы соответствовать Данные LDAP и проблема прояснились. Позже я нашел блог, который вы упомянули, и он говорит:
Закомментируйте строку «rootbinddn» [не уверен, зачем нам это нужно]
Вероятно, это то же самое вещь.
Я думаю, что проблема в том, что:
uri ldapi:///192.168.4.152/
должно быть:
uri ldap://192.168.4.152/
Полагаю, вам нужно сначала определить, принимает ли ваш LDAP-сервер соединения вообще ... Установите ldap-utils на свой клиент, чтобы у вас был инструмент ldapsearch. Затем попробуйте ldapsearch -x
. При этом используется простая аутентификация, и если вы получите результаты, вы можете быть уверены, что ваш ldap-сервер может быть запрошен с клиента.
Далее, посмотрите на ваш файл slapd.conf. Внимательно посмотрите на поля binddn и bindpw . Вы можете изменить bindpw, если вы его не помните. Команда для генерации закодированного bindpw будет использовать slappasswd
для вашего простого текстового пароля. После этого вы можете использовать команду, упомянутую Терри Гарднером выше. Если это связано, то вы можете быть уверены, что аутентификация ldap работает нормально. Если это не сработает, то опубликуйте сообщения об ошибках, опишите проблемы, с которыми вы столкнулись, а также опубликуйте ваш slapd.conf и, надеюсь, мы сможем предоставить вам решение. :)