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

by itisgood

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

Говоря простым языком, служба каталогов – это централизованная сетевая база данных, оптимизированная для доступа на чтение.

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

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

Типичным вариантом использования 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 для использования и нажмите Ok.

Теперь настройте опцию, чтобы позволить вам создавать утилиты паролей и нажмите Yes

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

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

Затем введите пароль для использования, когда 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 (Name Service Cache Daemon) с помощью следующей команды.

$ 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 для конкретного пользователя с сервера, например user tecmint.

$ getent passwd tecmint

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

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

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

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

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

 

You may also like

Leave a Comment