Поиск по сайту:

Как настроить клиент LDAP для подключения внешней аутентификации


LDAP (сокращение от Облегченный протокол доступа к каталогам) – это отраслевой стандарт, широко используемый набор протоколов для доступа к службам каталогов.

Проще говоря, служба каталогов — это централизованная сетевая база данных, оптимизированная для доступа на чтение. Он хранит и обеспечивает доступ к информации, которая должна либо совместно использоваться приложениями, либо быть широко распределенной.

Службы каталогов играют важную роль в разработке приложений интрасети и Интернета, помогая обмениваться информацией о пользователях, системах, сетях, приложениях и службах по всей сети.

Типичный вариант использования LDAP — централизованное хранилище имен пользователей и паролей. Это позволяет различным приложениям (или службам) подключаться к серверу LDAP для проверки пользователей.

После настройки рабочего LDAP сервера вам потребуется установить на клиенте библиотеки для подключения к нему. В этой статье мы покажем, как настроить клиент LDAP для подключения к внешнему источнику аутентификации.

Я надеюсь, что у вас уже есть работающая среда сервера LDAP, если вы еще не настроили сервер LDAP для аутентификации на основе LDAP.

Как установить и настроить клиент LDAP в Ubuntu и CentOS

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

Настройка клиента LDAP в Ubuntu 16.04 и 18.04

Сначала начните с установки необходимых пакетов, выполнив следующую команду.

sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Во время установки вам будет предложено ввести сведения о вашем сервере LDAP (укажите значения в соответствии с вашей средой). Обратите внимание, что автоматически устанавливаемый пакет ldap-auth-config выполняет большую часть настроек на основе введенных вами входных данных.

Далее введите название базы поиска LDAP, для этого можно использовать компоненты их доменных имен как показано на скриншоте.

Также выберите версию LDAP, которую вы хотите использовать, и нажмите ОК.

Теперь настройте параметр, позволяющий утилитам паролей, использующим pam, вести себя так, как если бы вы меняли локальные пароли, и нажмите Да, чтобы продолжить.

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

Также определите учетную запись LDAP для root и нажмите «ОК».

Затем введите пароль, который будет использоваться, когда ldap-auth-config попытается войти в каталог LDAP, используя учетную запись LDAP в качестве root.

Результаты диалога будут сохранены в файле /etc/ldap.conf. Если вы хотите внести какие-либо изменения, откройте и отредактируйте этот файл с помощью вашего любимого редактора командной строки.

Затем настройте профиль LDAP для NSS, запустив.

sudo auth-client-config -t nss -p lac_ldap

Затем настройте систему на использование LDAP для аутентификации, обновив конфигурации PAM. В меню выберите LDAP и любые другие необходимые механизмы аутентификации. Теперь вы сможете войти в систему, используя учетные данные на основе LDAP.

sudo pam-auth-update

Если вы хотите, чтобы домашний каталог пользователя создавался автоматически, вам необходимо выполнить еще одну настройку в PAM-файле общего сеанса.

sudo vim /etc/pam.d/common-session

Добавьте в него эту строку.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Сохраните изменения и закройте файл. Затем перезапустите службу NCSD (Демон кэша службы имен) с помощью следующей команды.

sudo systemctl restart nscd
sudo systemctl enable nscd

Примечание. Если вы используете репликацию, клиентам LDAP потребуется обращаться к нескольким серверам, указанным в /etc/ldap.conf. Вы можете указать все серверы в такой форме:

uri ldap://ldap1.example.com  ldap://ldap2.example.com

Это означает, что время ожидания запроса истечет, и если Поставщик (ldap1.example.com) перестанет отвечать, Потребитель (ldap2 .example.com) попытается связаться для его обработки.

Чтобы проверить записи LDAP для конкретного пользователя с сервера, выполните, например, команду getent.

getent passwd tecmint

Если приведенная выше команда отображает сведения об указанном пользователе из файла /etc/passwd, ваш клиентский компьютер теперь настроен для аутентификации на сервере LDAP, и вы сможете войти в систему, используя учетные данные на основе LDAP. .

Настройка клиента LDAP в CentOS 7

Чтобы установить необходимые пакеты, выполните следующую команду. Обратите внимание, что в этом разделе, если вы используете систему как пользователь с правами администратора без полномочий root, используйте команду sudo для запуска всех команд.

yum update && yum install openldap openldap-clients nss-pam-ldapd

Затем включите аутентификацию клиентской системы с помощью LDAP. Вы можете использовать утилиту authconfig, которая представляет собой интерфейс для настройки ресурсов аутентификации системы.

Выполните следующую команду и замените example.com на свой домен и dc=example,dc=com на свой контроллер домена LDAP.

authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

В приведенной выше команде параметр --enablemkhomedir создает локальный домашний каталог пользователя при первом подключении, если таковой не существует.

Затем проверьте, есть ли записи LDAP для конкретного пользователя с сервера, например пользователя tecmint.

getent passwd tecmint

Приведенная выше команда должна отображать сведения об указанном пользователе из файла /etc/passwd, что означает, что клиентский компьютер теперь настроен для аутентификации на сервере LDAP.

Важно! Если в вашей системе включен SELinux, вам необходимо добавить правило, позволяющее автоматически создавать домашние каталоги с помощью mkhomedir.

Для получения дополнительной информации обратитесь к соответствующей документации из каталога документов программного обеспечения OpenLDAP.

Краткое содержание

LDAP – широко используемый протокол для запроса и изменения службы каталогов. В этом руководстве мы показали, как настроить клиент LDAP для подключения к внешнему источнику аутентификации на клиентских компьютерах Ubuntu и CentOS. Любые вопросы и комментарии вы можете оставить, используя форму обратной связи ниже.