Как проверить соединение LDAP с клиента

47

Как проверить соединение LDAP от клиента к серверу. Я работаю над аутентификацией LDAP, и этот рабочий стол клиента должен проходить аутентификацию через сервер LDAP. Я могу подключиться к серверу LDAP по протоколу SSH, используя пользователя LDAP, но при появлении запроса на вход в систему на рабочем столе я не могу войти. Это говорит о сбое аутентификации.

Клиентская машина имеет Cent OS 6.3, а сервер LDAP имеет Cent OS 5.5

Программное обеспечение LDAP - Openldap.

Логи серверов LDAP даже не показывают никаких сообщений.

Итак, как проверить, может ли клиент успешно подключиться к LDAP или нет.

FELDAP
источник
2
Как небольшая заметка к этому старому сообщению, вы можете выполнить поиск (т.е. ldapsearch) без настройки PAM, но чтобы заставить пользователей выполнять аутентификацию через LDAP, вам потребуется настройка PAM для LDAP. Базовый ldapsearch просто показывает, что у вас установлены пакеты ldap lib и client tools (т.е. yum install openldap openldap-clients) и вы можете обращаться к серверам каталогов LDAP. Это хороший шаг в процессе установки или устранения неполадок.
Эрни

Ответы:

45

Используйте ldapsearch. Он вернет ошибку, если вы не можете запросить сервер LDAP.

Синтаксис использования ldapsearch:

ldapsearch -x -LLL -h [host] -D [user] -w [password] -b [base DN] -s sub "([filter])" [attribute list]

Простой пример

$ ldapsearch -x -LLL -h host.example.com -D user -w password -b"dc=ad,dc=example,dc=com" -s sub "(objectClass=user)" givenName

Пожалуйста, смотрите эту ссылку: http://randomerror.wordpress.com/2009/10/16/quick-tip-how-to-search-in-windows-active-directory-from-linux-with-ldapsearch/

Изменить : Кажется, вы не настроили PAM Corectlly для GDM / XDM вот пример, как это сделать: http://pastebin.com/TDK4KWRV

Sacx
источник
Я использую эту команду: ldapsearch -h hostname -x -b "dc = example, dc = com" 'uid = user', и он возвращает эту информацию о пользователе из базы данных LDAP. Но я не могу войти на рабочий стол через аутентификацию LDAP.
FELDAP
Если на вашем сервере нет ошибок, возможно, это от вашего клиента. Пожалуйста, посмотрите на auth.log и посмотрите, что там связано с ldap.
Sacx
Да, я думаю, это клиент. Это даже не поиск сервера LDAP. Что нужно сделать, чтобы клиент искал LDAP-сервер для аутентификации? Я отредактировал /etc/pam.d/system-auth. Вы можете проверить здесь: pastebin.com/jQjN7cYU
FELDAP
1
Используйте ldapwhoami с правильными параметрами и попытайтесь пройти аутентификацию с вашим пользователем.
Sacx
Вы следовали учебнику, чтобы подготовить клиента для аутентификации gdm / xdm?
Sacx
5

Чтобы узнать, правильны ли настройки моего сервера и клиентов, я использую это:

ldapsearch -x -b "uid=username,ou=people,dc=example,dc=com"

в случае успеха ответ будет примерно таким:

# extended LDIF
#
# LDAPv3
# base <uid=username,ou=people,dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# username, people, example.com
dn: uid=username,ou=people,dc=example,dc=com
cn: User Name
uid: username
uidNumber: 1050
loginShell: /bin/bash
homeDirectory: /home/webminder
gidNumber: 1030
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
gecos: User Name
sn: User Name

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Вы можете использовать разные фильтры. У меня есть только один сервер в моей сети

Meduza
источник
3

Ваша проблема не в LDAP, а в PAM.

Как было отмечено в комментариях к ответу Sacx в вас , вероятно , не имеют приложения входа в консоль (обычно РАМ system, xdm, gdmи т.д. служба (ы)) , выполненный с возможностью консультации LDAP для аутентификации пользователей.

Вы должны просмотреть документацию PAM для получения дополнительной информации о том, как это настроить .

voretaq7
источник
Я уже настроил эти файлы, но он не работает. Вы можете проверить файлы, которые я разместил в комментариях выше. LDAP действительно не хватает своих документов.
FELDAP