Что такое LDAP

LDAP (Lightweight Directory Access Protocol - «облегчённый протокол доступа к каталогам») — это сетевой протокол для доступа к службе каталогов X.500, разработанный IETF как облегчённый вариант разработанного ITU-T протокола DAP.

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

LDAP - относительно простой протокол, использующий TCP/IP и позволяющий производить операции авторизации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей. Обычно LDAP- сервер принимает входящие соединения на порт 389 по протоколам TCP или UDP. Для LDAP- сеансов, инкапсулированных в SSL, обычно используется порт 636. Служба директорий LDAP основана на клиент-серверной модели. Один или несколько серверов LDAP содержат данные, которые создают directory information tree (DIT). Клиент соединяется с сервером и спрашивает его. Сервер дает клиенту ответ и/или указание, где получить дополнительную информацию(обычно, другой LDAP сервер).

LDAP является широко используемым стандартом доступа к службам каталогов. Из свободно распространяемых открытых реализаций наиболее известен сервер OpenLDAP, из проприетарных — поддержка протокола имеется в Active Directory — службе каталогов от компании Microsoft, предназначенной для централизации управления сетями Windows настройка, ускорение, частые вопросы. Другие реализации служб каталогов, поддерживающие LDAP как протокол доступа: Red Hat Directory Server, Mandriva Directory Server, Novell eDirectory, OpenDS.

Реализация OpenLDAP. Homepage: OpenLDAP

OpenLDAP Software — открытая реализация LDAP, разработанная проектом OpenLDAP Project. Распространяется под собственной лицензией, называемой OpenLDAP Public License. LDAP — платформенно-независимый протокол. В числе прочих есть реализации для различных модификаций BSD, а также GNU/Linux, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (2000, XP) и z/OS.

# apt show slapd
Описание: служба OpenLDAP (slapd)
В пакете содержится служба OpenLDAP (облегчённый протокол доступа к
каталогам) (slapd). Данный пакет позволяет создать автономную
службу каталога.
  • GOsa,
  • Webmin,
  • phpLDAPadmin,
  • Lume.

Для чего можно использовать LDAP?

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

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

Примеры промышленного использования служб каталогов:

  • Идентификация компьютеров
  • Аутентификация пользователей в единой системе
  • Группировка пользователей (в том числе системные группы)
  • Адресные книги
  • Представление штатно-кадровой структуры организации
  • Учет закрепления имущества организации за сотрудниками
  • Телефонные справочники
  • Управление пользовательскими ресурсами
  • Справочники адресов электронной почты
  • Хранение конфигурации приложений
  • Хранение конфигурации АТС

Использование LDAP

  • Какой тип информации может храниться в директориях? Информационная модель LDAP основана на записях (entry). Запись - это коллекция атрибутов (attribute), обладающая уникальным именем (Distinguished Name, DN). DN глобально-уникально для всего каталога и служит для однозначного указания на запись. Каждый атрибут записи имеет свой тип (type) и одно или несколько значений (value). Обычно типы - это мнемонические строки, в которых отражено назначение атрибута, например "cn" - для общепринятого имени (common name), или "mail" - для адреса электронной почты. Синтаксис значений зависит от типа атрибута. Например, атрибут cn может содержать значение Babs Jensen. Атрибут mail может содержать значение "babs@example.com". Атрибут jpegPhoto будет содержать фотографию в бинарном формате JPEG.
  • Как информация храниться в LDAP? Записи каталога LDAP выстраиваются в виде иерархической древовидной структуры. Традиционно, такая структура отражает географические и организационные границы. Записи, обозначающие страны, находятся наверху дерева. Чуть ниже располагаются записи о регионах и организациях. Еще ниже - информация об отделах, людях, принтерах, документах или о том, о чем вы подумаете. Дерево может быть создано, основываясь на доменных именах интернета такое именование позволяет узнать расположение службы директорий, используя Раздел DNS: Что такое DNS.
  • Как можно обратиться к информации? К записи обращаются по ее уникальному имени, которое состоит из собственно имени записи (так называемое относительное уникальное имя (Relative Distinguished Name, RDN) с прибавлением к нему имён записей-предков. Так, запись, описывающая Barbara Jensen в приведенном выше примере с Internet-именованием, имеет RDN uid=babs, и DN - uid=babs,ou=People,dc=example,dc=com.
  • Что такое slapd и что он может сделать? slapd (Stand-alone LDAP демон) это сервер директорий LDAP. Вы можете использовать его для обеспечения собственного сервера директорий. Ваша директория может содержать любую информацию, которую вы захотите. Вы так же можете подключить свою директорию к глобальной службе директорий LDAP или запустить службу директорий самостоятельно. Некоторые возможности slapd: пункт 1.9., например SASL, TLS (или SSL), поддерживает Unicode и языковые теги.
  • Что такое slurpd и что он может делать? slurpd(8) - демон, который, с помощью slapd(8), обеспечивает работу службы репликаций. Он отвечает за распространение изменений, сделанных в главной БД slapd, на другие БД slapd. Slurpd освобождает slapd от необходимости беспокоится, если другие БД slapd выключены или недоступны, когда произошли изменения в главной БД. Slurpd автоматически повторяет запросы на обновление. Slapd и Slurpd связаны через простой текстовый файл, который используется для записи изменений.

Читайте также: LDIF это формат обмена данными LDAP

PQ VPS сервера в 28+ странах.