Linux настройка ldap клиента

LDAP Linux HOWTO

В этом документе представлена информация об установке, настройке, запуске и обслуживании LDAP (Lightweight Directory Access Protocol) сервера на Linux. Также приводятся детали создания LDAP баз данных, способов обновления и удаления информации из базы данных, путей реализации роуминга и способов использования Netscape Address Book. В основном этот документ основывается на информационных страницах о LDAP Мичиганского Университета (University of Michigan) и OpenLDAP Administrator’s Guide.

Введение

Главная цель этого документа — установка и использование сервера каталогов LDAP на вашей Linux машине. Вы научитесь устанавливать, настраивать, запускать и обслуживать LDAP сервер. Далее вы научитесь способам помещения, извлечения и обновления информации в вашем каталоге с помощью клиентов LDAP и утилит. Демон для LDAP сервера каталогов называется slapd , и он запускается на многих различных UNIX платформах.

Также есть другой демон, который заботится о репликации между LDAP серверами. Он называется slurpd и, в данный момент, вам не следует о нем беспокоится. В этом документе вы запускаете slapd, который предоставляет службу каталогов только для вашего домена, без репликации, следовательно, без slurpd.

Такие простые настройки сервера хороши для начала, и, если вы захотите, позже их легко можно обновить до другой конфигурации. Представленная в этом документе информация представляет собой хорошее введение в использование протокола LDAP. Возможно, после прочтения этого документа вы почувствуете себя увереннее для расширения возможностей вашего сервера, и даже написания собственных клиентов, используя доступные C, C++ и Java Development Kits.

Что такое LDAP?

LDAP — клиент-серверный протокол для доступа к службе каталогов. Изначально он использовался как надстройка над X.500, но он также может быть использован с автономными и прочими видами служб каталогов.

Что такое служба каталогов?

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

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

Существует много различных путей реализовать службу каталогов. Различные методы позволяют помещать в каталоге информацию различного типа, помещать различные требования на то, как на эту информацию можно ссылаться, запрашивать и обновлять, как она защищается от несанкционированного доступа и т.п. Некоторые службы каталогов локальны, и предоставляют службы в ограниченном контексте (например, служба finger на одной машине). Другие службы глобальны, и предоставляют обслуживание в более обширном контексте.

Как работает LDAP?

Служба каталогов LDAP основана на клиент-серверной модели. Один или более серверов LDAP содержат данные составляющие дерево каталога LDAP, или базу данных LDAP. Клиент LDAP подключается к LDAP серверу и задает ему вопросы. Сервер выдает ответ или указатель места, где клиент может получить более подробную информацию (обычно, другой LDAP сервер). Не имеет значения, к какому LDAP серверу подключается клиент, он видит один и тот же каталог; имя представленное в одном LDAP сервере ссылается на тот же элемент что и другой LDAP сервер. Это важное свойство глобальной службы каталогов LDAP.

Читайте также:  Windows 10 выходит при простое

Механизмы баз данных LDAP, объекты и атрибуты

Slapd поставляется с тремя различными механизмами баз данных, которые вы можете выбрать. Это: LDBM — высокоскоростная дисковая база данных; SHELL — интерфейс базы данных к обычным UNIX командам и shell скриптам; и PASSWD — простая база данных на основе файла паролей.

В этом документе я предполагаю, что вы выбрали базу данных LDBM.

База данных LDBM работает, назначая компактный уникальный четырехбайтовый идентификатор каждому элементу базы данных. Она использует этот идентификатор для ссылок на записи из индексов. База данных состоит из одного главного файла индексов под названием id2entry, который устанавливает соответствие уникального индекса элемента (EID) текстовому представлению самого элемента. Также поддерживаются другие индексные файлы.

Для импортирования или экспортирования информации каталога между серверами каталогов основанных на LDAP или для описания набора вносимых в каталог изменений, обычно используется формат LDIF, т.е. LDAP Data Interchange Format. Файл LDIF хранит информацию об объектно-ориентированной иерархии элементов. Пакет LDAP, который вы собираетесь использовать, поставляется с утилитой конвертирования LDIF файлов в LDBM формат.

Типичный LDIF файл выглядит так:

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

В LDAP, класс объектов определяет набор атрибутов, которые используются для определения элемента. Стандарт LDAP определяет такие основные виды классов объектов:

Группа каталогов, включая неупорядоченный список индивидуальных объектов или групп объектов.

Местоположение, такое как имя страны и описание.

Организации в каталоге.

Люди в каталоге.

Элемент может принадлежать более чем одному классу. Например, элемент человека определен классом объектов person , но также могут быть определены атрибуты в классах объектов inetOrgPerson, groupOfNames и organization. Структура классов объектов сервера (его схема) определяет общий список требуемых и разрешенных атрибутов отдельного элемента.

Данные каталога представлены в виде пар атрибут-значение. Любая определенная часть информации ассоциируется с этим описательным атрибутом.

Например, атрибут commonName, или cn, используется для размещения имени человека. Человек по имени Jonas Salk может быть представлен в каталоге как

Каждый человек, введенный в каталог, определяется набором атрибутов в классе объектов person . Прочие атрибуты этого элемента могут включать:

Требуемые атрибуты включают атрибуты, которые могут представляться в элементах, используя класс объектов. Все элементы требуют наличия атрибута objectClass, в котором перечислены классы объектов, к которым принадлежит элемент.

Разрешенные атрибуты включают атрибуты, которые могут быть представлены в элементах класса объектов. Например, в классе объектов person, обязательны атрибуты cn и sn. Атрибуты description, telephoneNumber, seeAlso, и userpassword разрешены, но не обязательны.

Каждый атрибут имеет соответствующее синтаксическое определение. Синтаксическое определение описывает тип предоставляемой атрибутом информации:

bin «binary» двоичный

ces «case exact string» строка с соответствием регистра (регистр символов должен совпадать при сравнении)

cis «case ignore string» строка с игнорированием регистра (регистр символов игнорируется при сравнении)

tel строка с номером телефона (подобен cis но пробелы и тире `- ‘ игнорируются при сравнении)

dn «distinguished name» отличительное имя

Чтобы узнать, где в вашей системе лежат классы объектов и атрибуты, перейдите к первому параграфу Разд. Настройка LDAP сервера >.

Читайте также:  Opening text file linux

Новые версии этого документа

В этот документ могут вноситься исправления и обновления на основе обратной связи с читателями. Новые версии этого HOWTO следует искать на:

Домашняя страница перевода http://mvd.h1.ru/tr/

Мнения и предложения

Если у вас есть какие-либо сомнения по поводу приведенной в этом документе информации, пожалуйста, свяжитесь со мной по следующему email адресу:

Также дайте мне знать, если у вас есть комментарии и/или предложения!

История издания

В этой секции перечислены отсортированные по дате выпуски этого документа. Каждый выпуск включает в себя изменения, внесенные в более ранние версии плюс новые дополнения и корректировки:

v1.0: 20 Июня 1999, Первоначальная версия

v1.01: 15 Февраля 2000, дополнен следующими секциями:

Утилиты миграции LDAP

Аутентификация с помощью LDAP

Графические утилиты LDAP

v1.02: 13 Сентября 2000, коррекция опечаток и дополнения в следующих секциях:

v1.03: 28 Сентября 2000, представлен OpenLDAP 2.0, который охватывает LDAPv3, определенный в RFC2251.

v1.04: 28 Февраля 2001, исправления опечаток и обновления в следующих секциях:

Аутентификация с помощью LDAP

v1.05: 22 Июня 2001, исправления длинных строк, которые вызывали несовместимость с PDF версией этого документа.

Благодарности

Этот Howto — результат моей интернатуры в TUDelft University — Нидерланды. Я хотел бы поблагодарить людей, которые помогали мне в написании этого документа: Rene van Leuken и Wim Tiwon. Огромное им спасибо. Они такие же поклонники Linux, как и я.

Также я хотел бы поблагодарить Thomas Bendler, автора Немецкого варианта Ldap-Howto — Joshua Go, за его дополнения к моему документу, великих добровольцев из проекта LDP и Hugo van der Kooij, за его подсказки по секции Роуминг.

Авторские права и отречение

Авторские права на LDAP Linux HOWTO Copyrighted 1999 принадлежат Luiz Ernesto Pinheiro Malere. Документ может свободно распространяться. Он не может модифицироваться. Если у вас есть какие-либо предложения, пожалуйста, пришлите мне email сообщение (если предложение приемлемо, я обновлю документ).

Если вы хотите его перевести, например, на Португальский язык, вы также можете прислать мне сообщение.

За содержимое этого документа не может возлагаться никакая ответственность. Я не ответственен за последствия приведенных в этом документе шагов.

Если у вас есть вопросы, пожалуйста, свяжитесь с координатором HOWTO по адресу

Источник

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

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

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

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

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

Типичным вариантом использования LDAP является централизованное хранение имен пользователей и паролей.

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

После настройки работающего сервера LDAP вам необходимо установить библиотеки на клиенте для подключения к нему.

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

Я надеюсь, что у вас уже есть работающая среда сервера LDAP.

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

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

Читайте также:  Windows это какое программное обеспечение

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

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

Во время установки вам будет предложено ввести информацию о вашем сервере LDAP (укажите значения в соответствии с вашей средой).

Обратите внимание, что автоматически устанавливаемый пакет ldap-auth-config выполняет большинство конфигураций на основе введенных вами данных.

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

Также выберите версию LDAP для использования и нажмите Ok.

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

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

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

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

Результаты диалога будут сохранены в файле /etc/ldap.conf.

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

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

Затем настройте систему на использование аутентификации LDAP, обновив конфигурации PAM.

В меню выберите LDAP и любые другие необходимые вам механизмы аутентификации.

Теперь вы должны войти в систему, используя учетные данные на основе LDAP.

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

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

Сохраните изменения и закройте файл.

Затем перезапустите службу NCSD (Name Service Cache Daemon) с помощью следующей команды.

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

Вы можете указать все серверы в этой форме:

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

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

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

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

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

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

Затем включите клиентскую систему для аутентификации с использованием LDAP.

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

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

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

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

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

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

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

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

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

Источник

Оцените статью