LDAP (сокращение от Lightweight Directory Access Protocol) — это промышленный стандарт, широко используемый набор протоколов для доступа к службам каталогов.
Говоря простым языком, служба каталогов — это централизованная сетевая база данных, оптимизированная для доступа на чтение. Она хранит и предоставляет доступ к информации, которая должна быть разделена между приложениями или иметь высокую степень распространения.
Службы каталогов играют важную роль в разработке приложений для интрасети и Интернета, помогая вам обмениваться информацией о пользователях, системах, сетях, приложениях и службах по всей сети.
Типичным вариантом использования Lightweight Directory Access Protocol является централизованное хранение имен пользователей и паролей. Это позволяет различным приложениям (или службам) подключаться к серверу 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 выполняет большинство конфигураций на основе введенных вами данных.
Далее введите имя базы поиска Lightweight Directory Access Protocol, для этого вы можете использовать компоненты своих доменных имен, как показано на скриншоте.
Также выберите версию LDAP для использования и нажмите Ok.
Теперь настройте опцию: «которая позволит вам создавать утилиты паролей, которые используют pam, чтобы вести себя так, как будто вы меняете локальные пароли», и нажмите кнопку Yes, чтобы продолжить.
Затем отключите требование входа в базу данных Lightweight Directory Access Protocol, используя следующую опцию.
Также определите учетную запись LDAP для root и нажмите Ok.
Затем введите пароль, когда ldap-auth-config попытается войти в каталог LDAP, используя учетную запись LDAP для пользователя root.
Результаты будут сохранены в файле /etc/ldap.conf. Если вы хотите внести какие-либо изменения, откройте и отредактируйте этот файл, используя ваш любимый редактор командной строки.
Затем настройте профиль LDAP для NSS, запустив:
$ sudo auth-client-config -t nss -p lac_ldap
Затем настройте систему на использование Lightweight Directory Access Protocol для аутентификации, обновив конфигурации 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, ваш клиентский компьютер теперь настроен для аутентификации на сервере Lightweight Directory Access Protocol, вы сможете войти в систему с использованием учетных данных на основе 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 создает локальный домашний каталог пользователя при первом подключении, если его не существует.
Затем, проверьте, если записи Lightweight Directory Access Protocol для конкретного пользователя с сервера, например user sedicomm.
$ getent passwd sedicomm
Приведенная выше команда должна отображать сведения об указанном пользователе из файла /etc/passwd, что означает, что клиентский компьютер теперь настроен для аутентификации на сервере LDAP.
Важное замечание: Если в вашей системе включен SELinux, вам нужно добавить правило, позволяющее mkhomedir автоматически создавать домашние каталоги.
Для получения дополнительной информации обратитесь к соответствующей документации из каталога документов программного обеспечения OpenLDAP.
Итог
Lightweight Directory Access Protocol, широко используемый протокол для работы со службой каталогов. В этой статье мы показали, как настроить клиент LDAP для подключения к внешнему источнику аутентификации на клиентских компьютерах Ubuntu и CentOS.
Спасибо за уделенное время на прочтение статьи о Lightweight Directory Access Protocol!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.