Я следую этому руководству https://mcwhirter.com. au / craige / blog / 2005 / Making-a-Debian-or-Ubuntu-Machine-an-LDAP-Authentication-Client / , но после первого шага:
apt-get install libpam-ldap libnss-ldap
он уже терпит неудачу:
вы должны быть может выполнять такие команды, как "getent passwd"
, но пользователи LDAP не появляются. Я не знаю, что дальше делать. Я весь день пытался понять, что не так, перепроверял все, но не мог понять. Пробуем 123.123.123.123 ... Подключен к 123.123.123.123. Экранирующий символ - '^]'.
Тестирование с использованием ldapsearch
Я выполнил различные случайные проверки, в значимости которых я не уверен. Предполагая, что 123.123.123.123
- это IP-адрес сервера LDAP sub.domain.com
, его полное доменное имя:
ldapsearch -x -b 'dc=sub,dc=domain,dc=com' '(objectclass=*)' ### ON SERVER
ldap_bind: Inappropriate authentication (48)
additional info: anonymous bind disallowed
и на ПК:
ldapsearch -x -b 'dc=sub,dc=domain,dc=com' '(objectclass=*)' ### ON CLIENT
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
@ user5870571 ответ объясняет, что я необходимо создать пользователя LDAP с правами на вывод списка пользователей LDAP. Однако я не понимаю, как это соотносится с руководством, которому я следовал, и я не знаю, как это исправить.
На стороне сервера:
slaptest
возвращает
bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
файл конфигурации, тестирование выполнено успешно
I ' Буду очень рад поделиться результатами выполнения определенных команд или содержимым файла по вашему запросу.
cat /etc/ldap.conf[12100 visible
Ошибка, которую вы предоставили, говорит вам о том, что вы привязаны к перечню пользователей, хранящихся на LDAP-сервере без аутентификации на LDAP-сервере.
ldap_bind: Inappropriate authentification (48)
additional info: anonymous bind disallowed
Поэтому вам нужна учетная запись, которую LDAP-клиент может использовать для аутентификации на LDAP-сервере, а затем перечислять пользователей LDAP.
.Наконец-то мне удалось решить свою проблему. Думаю, это была довольно необычная проблема: LDAP-сервер размещен на NAS (QNAP); обновление прошивки NAS каким-то образом испортило базу данных LDAP, в результате чего все выглядело нормально, за исключением того, что клиенты не могли связать пользователей и их UID.
Обновление прошивки не помогло, так как база данных LDAP была каким-то образом повреждена. Что решило мою проблему, так это загрузка резервной копии базы данных LDAP.
Вот шаги, которые я выполнил для установки
, если это кому-то может помочь. Ограничение ответственности: Я почти ничего не знаю о LDAP-серверах; natxo asenjo рекомендует следующее руководство: http://www.zytrax.com/books/ldap/.
На QNAP-сервере: QNAP-учебник довольно ясен и понятен. Не забудьте разрешить NAS быть клиентом собственного LDAP-сервера в меню "Безопасность домена". Полное доменное имя не имеет никакого отношения к реальной странице просмотра, при желании вы можете использовать "mypage.johndoe", если вы, конечно, согласны с этим именем.
На компьютере (клиенте)
sudo apt-get install ldap-auth-client
затем сконфигурируйте ldap адрес (например, ldap://123.123.123. 123/
), имя поисковой базы dc=mypage,dc=johndoe
, LDAP версия (3), сделайте локальную корневую базу данных администратором (я выбираю No), требуется ли вход в LDAP базу данных (я выбираю No).
sudo apt-get install libnss-ldapd
затем нажмите Enter три раза и выберите псевдонимы
. Затем
sudo apt-get install libnss-ldapd
Редактируйте /etc/nsswitch.conf
и отредактируйте следующие поля, чтобы получить:
passwd: files ldap
group: files ldap
shadow: files ldap
(оставьте gshadow
в виде файлов). Теперь
getent passwd
должны отображаться пользователи LDAP на клиенте.
Если во время настройки вы ввели неверные параметры, вы можете перенастроить с помощью sudo dpkg-refigure ldap-auth-config
или удалить пакеты, например, с помощью
sudo apt-get remove --purge nameOfPackage
, где nameOfPackage
- это ldap-auth-client
. Опция --purge
удаляет файлы конфигурации.