Аутентификация пользователей с сервером Zimbra LDAP с других клиентов CentOS.

Вопрос или проблема

Мне интересно, как интегрировать мою базу данных, веб-сервер, резервное копирование и т.д. с серверами CentOS на сервере Zimbra LDAP. Требуется ли для этого более сложная конфигурация, чем стандартная аутентификация LDAP?

Версия моего сервера Zimbra:

[zimbra@zimbra ~]$ zmcontrol -v
Release 8.0.5_GA_5839.RHEL6_64_20130910123908 RHEL6_64 FOSS edition.

Статус моего сервера LDAP:

[zimbra@ldap ~]$ zmcontrol status
Host ldap.domain.com
    ldap                    Running
    snmp                    Running
    stats                   Running
    zmconfigd               Running

Я уже установил пакеты nss-pam-ldapd на свои серверы.

[root@www]# rpm -qa | grep ldap
nss-pam-ldapd-0.7.5-18.2.el6_4.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
pam_ldap-185-11.el6.x86_64
openldap-2.4.23-32.el6_4.1.x86_64

Мой файл /etc/nslcd.conf:

[root@www]# tail -n 7 /etc/nslcd.conf
uid nslcd
gid ldap
# Этот комментарий предотвращает повторную автоматическую миграцию настроек.
uri ldap://ldap.domain.com
base dc=domain,dc=com
binddn uid=zimbra,cn=admins,cn=zimbra
bindpw **pass**
ssl no
tls_cacertdir /etc/openldap/cacerts

Когда я запускаю:

[root@www ~]# id username
id: username: No such user

Но я уверен, что пользователь username существует на сервере LDAP.

ИЗМЕНЕНИЕ: Когда я запускаю команду ldapsearch, я получаю все результаты с учетными данными и DN.

[root@www ~]# ldapsearch -H ldap://ldap.domain.com:389 -w **pass** -D uid=zimbra,cn=admins,cn=zimbra -x 'objectclass=*'

# extended LDIF
#
# LDAPv3
# base <dc=domain,dc=com> (default) with scope subtree
# filter: objectclass=*
# requesting: ALL
#

# domain.com
dn: dc=domain,dc=com
zimbraDomainType: local
zimbraDomainStatus: active
.
.
.

Если ваш сервер Zimbra имеет несколько доменов, ваша база должна быть:

ou=people,dc=domain,dc=tld

Вам нужно настроить ваш LDAP для нацеливания пользователей по uid:

uid=%uid

Ответ или решение

Аутентификация пользователей на сервере Zimbra LDAP с клиентами CentOS

Чтобы интегрировать ваши CentOS-серверы (серверы баз данных, веб и резервного копирования) с LDAP сервером Zimbra, вам потребуется выполнить ряд шагов для настройки аутентификации пользователей. Ваша версия Zimbra 8.0.5 не требует особой сложной конфигурации, однако правильная настройка параметров LDAP является ключевой для успешной интеграции.

1. Установка необходимых пакетов

Вы уже установили пакеты nss-pam-ldapd, что является первым шагом к успешной интеграции. Аналогично, убедитесь, что у вас установлены nsswitch.conf, чтобы настроить использование LDAP в системе. Это можно сделать с помощью команды:

cat /etc/nsswitch.conf

Убедитесь, что строки, отвечающие за аутентификацию, выглядят примерно следующим образом:

passwd:     files ldap
shadow:     files ldap
group:      files ldap

2. Настройка файла конфигурации nslcd

Файл конфигурации /etc/nslcd.conf должен быть правильно настроен для доступа к вашему LDAP серверу. Проверим следующие параметры:

  • uri: указывает адрес вашего LDAP сервера. Ваша текущая настройка выглядит правильно:

    uri ldap://ldap.domain.com
  • base: проверьте, что он установлен корректно. Если у вас есть несколько доменов, используйте более специфичный базовый DN:

    base ou=people,dc=domain,dc=com
  • Кроме того, настройте параметр uid, чтобы сервер LDAP искал пользователей по uid:

uid=%uid

3. Настройка PAM для LDAP

Вам нужно будет отредактировать файл PAM для настройки аутентификации через LDAP. Откройте файл /etc/pam.d/system-auth и добавьте следующую строку:

auth        required      pam_unix.so nullok try_first_pass
auth        required      pam_ldap.so use_first_pass
account     required      pam_unix.so
account     sufficient  pam_ldap.so

Эти строки обеспечивают приоритет LDAP аутентификации, если пользователь не найден в локальных учетных записях.

4. Проверка конфигурации

  1. Проверка доступа к LDAP: Используйте команду ldapsearch, как вы уже делали, чтобы убедиться, что LDAP сервер доступен и правильно настроен:

    ldapsearch -H ldap://ldap.domain.com:389 -w your_password -D uid=zimbra,cn=admins,cn=zimbra -x 'objectclass=*'
  2. Проверка пользователя: После всех изменений, проверьте аутентификацию пользователя с помощью команды id:

    id имя_пользователя

    Если вы получите сообщение "No such user", это может означать, что настройки LDAP не помогают правильно извлекать информацию пользователя из LDAP (неправильный base или uid).

5. Дополнительная отладка

Если проблемы продолжаются, включите отладочные журналы для nslcd и nss-pam-ldapd, чтобы детализировать процесс аутентификации и увидеть, где именно происходит сбой. Журнал может обычно находиться в /var/log/syslog или /var/log/messages в зависимости от конфигурации вашей системы.

Заключение

Интеграция CentOS серверов с LDAP сервером Zimbra требует правильной настройки конфигурационных файлов и проверки их работоспособности. Следуя данным шагам, вы сможете успешно настроить аутентификацию пользователей через LDAP. Не забывайте осуществлять тестирование после внесения изменений, чтобы убедиться в их корректности.

Оцените материал
Добавить комментарий

Капча загружается...