Содержание
Облегченный протокол доступа к каталогам (LDAP) — это набор протоколов, созданный для доступа и поддержания информационных каталогов. LDAP может использоваться для различных целей, например, управление пользователями и группами, управление системной конфигурацией или управление адресами. В этом разделе дается краткое описание как работает OpenLDAP и как управлять данными LDAP с помощью YaST.
В сетевом окружении важно сохранить ценную информацию структурированной и быстро доступной. Это может быть сделано с помощью такого сервиса каталогов, как общие желтые страницы, хранящие информацию доступной в отлично структурированной форме, приспособленной для быстрого поиска.
В идеальном случае, центральный сервер хранит данные в каталоге и распределяет их всем клиентам по определенному протоколу. Данные структурированы в таком виде, который позволяет широкому кругу приложений получить доступ к ним. Таким образом, отпадает необходимость в хранении клиентом каждого календаря или базы электронной почты - вместо этого будет доступен центральный репозиторий. Использование открытого и стандартизированного протокола, как LDAP, гарантирует возможность получения доступа к информации для различных приложений.
Каталог в этом контексте — это тип базы данных, оптимизированного на чтения и поиск:
Делает возможным множественный доступ для чтения, доступ на запись ограничен небольшим числом модификаций, сделанных администратором. Обычные базы данных оптимизированы для доступа к большому объему возможных данных за короткий промежуток времени.
Поскольку доступ на запись может быть выполнен в ограниченном виде, сервис каталогов используется по большей части для администрирования неизменяемой, статической информации. При работе с часто меняющимися данными, особенно с такими наборами данных, как, например, банковские счета, согласованность данных имеет первостепенное значение. Если сумма должна быть вычтена из одного счета для добавления к другому, то такие операции должны происходить одновременно, в течение одной транзакции, чтобы гарантировать корректность полученных данных. Традиционные реляционные базы данных обычно имеют очень сильный акцент на целостности данных, такой как поддержка ссылочной целостности транзакций. С другой стороны, краткосрочные несоответствия, как правило, приемлемы для LDAP. Так, часто нет необходимости в таких жестких требований к согласованности данных.
Дизайн сервиса каталогов, как LDAP, не подразумевает поддержки сложных модификаций и механизмов запросов. Все приложения, обращающиеся к этому сервису, должны получать доступ к нужным данным легко и быстро.
Администраторы Unix-систем традиционно используют сервис NIS (Network Information
Service, Информационная служба сети) для разрешения имен и предоставления данных
по сети. Данные конфигурации содержатся в файлах group,
hosts, mail,
netgroup, networks,
passwd, printcap,
protocols, rpc и
services в каталоге /etc, которые
предоставляются всем пользователям в сети. Эти файлы могут поддерживаться без
особых усилий, так как они состоят из простого текста. Обработка большого
количества данных, однако, становится все более и более сложной из-за отсутствия
структурирования. NIS разрабатывался для Unix платформ и, потому, не очень
подходит для централизованного управления в гетерогенных сетях.
В отличие от NIS, сервис LDAP не ограничен только сетями UNIX. Серверы Windows (начиная с 2000) поддерживают LDAP, как сервис каталогов. Прикладные задачи, описанные выше, дополнительно поддерживаются в не-Unix сетях.
Принцип LDAP может быть применен к структуре любых данных, которая может централизованно администрироваться. Примеры нескольких приложений:
Применение в качестве замены сервиса NIS
Перенаправление почты (postfix, sendmail)
Адресные книги для таких почтовых клиентов, как Mozilla, Evolution и Outlook
Администрирование зоны, написанной для сервера имен Bind9
Аутентификация пользователей совместно с Samba в гетерогенных сетях
Этот список может быть расширен, поскольку LDAP более гибкая вещь, чем NIS. Ясная иерархическая структура облегчает администрирование большого количества данных, так как они могут быть найдены значительно проще.
Для лучшего понимания, как работает LDAP и как хранятся данные, очень важно понимать, каким образом данные организованы на сервере и как эта структура позволяет обеспечить быстрый доступ к необходимым данным. Для успешной установки LDAP необходимо ознакомиться с используемой терминологией. Эта секция позволяет понять основной вывод дерева и описывает терминологию в контексте LDAP. Эту секцию можно пропустить, если вы уже имеете некоторое представление о работе LDAP и просто хотите научиться установке LDAP-окружения в . Прочитайте Раздел 4.3, «Конфигурирование сервера LDAP с помощью YaST» или Раздел 4.7, «Конфигурация сервера LDAP вручную».
Каталог LDAP имеет структуру дерева. Все записи (называемые объектами) каталога имеют определенную позицию в этой иерархии. Эта иерархия называется Информационным деревом справочника (DIT, Directory Information Tree). Полный путь к необходимой записи, который однозначно идентифицирует ее, называется характерное имя (distinguished name) или DN. Единый узел вдоль пути к этой записи называется (relative distinguished name) или RDN.
Отношения элементов в пределах дерева LDAP хорошо видны на рисунке Рисунок 4.1, «Структура каталога LDAP».
Полная диаграмма является вымышленным информационным деревом каталога.
Изображены записи на третьем уровне. Каждая запись соответствует одному
прямоугольнику на картинке. Полное distinguished name
для вымышленного пользователя Geeko Linux
будет, в данном случае, cn=Geeko Linux,ou=doc,dc=example,dc=com.
Оно создается путем добавления RDN cn=Geeko Linux к DN
предыдущей записи ou=doc,dc=example,dc=com.
Типы объектов, которые хранятся в DIT, в общем случае определяются, следуя Схеме (Schema). Тип объекта определяется классом объекта (object class). Класс объекта определяет, какие свойства связанного объекта должны или могут быть назначены. Схема, в свою очередь, должна содержать определения всех классов объекта и свойства, использующиеся в нужном прикладном сценарии. Существует несколько общих схем (RFC 2252 и 2256). LDAP RFC определяют несколько наиболее часто используемых схем (см., например, RFC4519). Кроме того, существует много других схем (например, замена Samba, NIS и т.д.). При этом можно самому создавать схемы или использовать несколько дополняющих друг друга схем (если это требуется окружением, в котором будет эксплуатироваться LDAP-сервер).
В Таблица 4.1, «Общий блок используемых классов объектов и атрибутов» показан небольшой обзор классов объекта
из core.schema и inetorgperson.schema,
использующихся в примере, включая свойства и действительные значения свойств.
Таблица 4.1. Общий блок используемых классов объектов и атрибутов¶
|
Класс объекта |
Значение |
Пример записи |
Необходимые свойства |
|---|---|---|---|
|
dcObject |
domainComponent (именованные компоненты домена) |
example |
dc |
|
organizationalUnit |
organizationalUnit (организационная единица) |
doc |
ou |
|
inetOrgPerson |
inetOrgPerson (персональные данные) |
Geeko Linux |
sn and cn |
В Пример 4.1, «Выдержка из schema.core» показана часть из директивы схемы с объяснениями.
Пример 4.1. Выдержка из schema.core¶
attributetype (2.5.4.11 NAME ( 'ou' 'organizationalUnitName')DESC 'RFC2256: organizational unit this object belongs to'
SUP name )
... objectclass ( 2.5.6.5 NAME 'organizationalUnit'
DESC 'RFC2256: an organizational unit'
SUP top STRUCTURAL
MUST ou
MAY (userPassword $ searchGuide $ seeAlso $ businessCategory
$ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ description) ) ...
Тип свойства organizationalUnitName и переданный класс
объекта organizationalUnit в данном случае служат примером.
Имя свойства, его уникальный OID (идентификатор объекта, object identifier (цифровой)) и аббревиатура свойства. | |
Краткое описание свойства с помощью | |
| |
Описание класса объекта | |
Краткое описание класса объекта. | |
Запись | |
Начиная с | |
Начиная с |
Очень хорошим введением с описанием использования схем можно найти в документации к
openLDAP. После установки, она доступна в
/usr/share/doc/packages/openldap2/guide/admin/guide.html.
Используйте YaST для первоначальной настройки сервера LDAP. Типичные случаи использования серверов LDAP включают в себя: управление аккаунтами пользователей и задание настроек почты, серверов DNS и DHCP.
Для установки сервера LDAP для управления аккаунтами пользователей, потребуется
установить пакеты yast2-ldap-server и
openldap2. Сделайте следующее:
Запустите YaST от имени root и выберите +, чтобы
вызвать диалог первоначальной настройки.
Задайте параметры вашего LDAP-сервера в разделе (их можно будет изменить позднее) — см. Рисунок 4.2, «YaST: Настройка сервера LDAP»:
Укажите необходимость автоматического запуска LDAP-сервера во время загрузки системы.
Если необходимо, чтобы сервер LDAP предоставлял свои возможности через SLP, выберите .
Задайте .
Нажмите .
Выберите тип сервера: обособленный сервер, основной сервер репликации или вторичный сервер.
Выберите опции безопасности ().
Строго рекомендуется . Дополнительную информацию см. в Шаг 4.
![]() | Шифрование паролей |
|---|---|
Активация TLS обеспечивает шифрование пролей передаваемых по сети. Если эта опция не активна, то пароли будут передаваться в не зашифрованном виде. | |
Так же рассмотрите возможность применения сертификатов и SSL.
Подтвердите введя и нажмите — см. Рисунок 4.2, «YaST: Настройка сервера LDAP».
Проверьте и нажмите , чтобы закрыть мастер настройки.
Для изменения параметров конфигурации запустите модуль Сервер LDAP и в левой панели выберите , чтобы перейти к этому подпункту — см. Рисунок 4.4, «YaST: Настройка сервера LDAP»:
Подпункт позволяет настроить уровень регистрируемых в журнале событий (уровень подробности) сервера LDAP. Добавьте или удалите из предопределенного списка параметры ведения журнала в соответствии с вашими потребностями. Чем больше опций будет включено, тем быстрее будут разрастаться лог-файлы.
Укажите какие типы соединений серверу разрешено принимать в . Среди них:
Эта опция позволяет запросы на соединение (bind requests) от клиентов, использующих предыдущую версию протокола (LDAPv2).
Обычно сервер LDAP запрещает любые попытки аутентификации с пустыми регистрационными данными (DN или пароль). Включение этой опции, однако, делает возможным соединение с паролем и без DN для установки анонимного соединения.
Включение этой опции делает возможным соединение без аутентификации (анонимно), используя DN, но без пароля.
Включение этой опции позволяет делать неаутентифицированные (анонимные) модификации. Доступ ограничивается согласно ACL и другими правилами.
также позволяет установить флаги сервера. Среди них:
Сервер больше не будет принимать анонимные соединения. Заметьте, что это не запрещает анонимный доступ к каталогам.
Полное отключение аутентификации Simple Bind.
Сервер больше не будет принудительно переводить аутентифицированное соединение обратно в анонимное состояние при получении операции StartTLS.
Сервер будет отклонять операцию StartTLS для уже аутентифицированных соединений.
Для настройки безопасного соединения между клиентом и сервером перейдите к подпункту :
Отметьте для активации шифрования по протоколам TLS и SSL клиент-серверных соединений.
Нажмите , чтобы указать точный путь его расположения или активируйте . Если пункт не доступен, так как сертификат не был создан во время установки, то нажмите . Дополнительную информацию см. в Раздел 15.2, «YaST Modules for CA Management».
Включить файл схемы в конфигурации сервера можно выбрав подпункт в левой части диалога. По умолчанию указанные файлы схемы относятся к серверу, являющемуся для YaST источником данных об учетных записях пользователей.
YaST поддерживает традиционные файлы схем (как правило, с именем,
заканчивающимся на .schema) или LDIF-файлы содержащие
описание схемы в LDIF формате OpenLDAP.
Чтобы настроить базы данных вашего LDAP-сервера, проделайте следующее:
Выберите пункт в левой части диалога.
Нажмите , чтобы добавить базу данных.
Введите необходимые данные:
Введите основной DN вашего сервера LDAP.
Укажите DN администратора отвечающего за этот сервер. Если
выбрать , то достаточно
указать только cn администратора — система
подхватит остальные значения автоматически.
Введите пароль администратора базы данных.
Выберите эту опцию, если нужно.
В следующем диалоге задайте параметры репликации.
В следующем диалоге включите возможность политик паролей для обеспечения дополнительной безопасности для сервера LDAP:
Выберите , чтобы задать политики для паролей.
Активируйте , чтобы при изменении или создании пароля, его представление в открытом виде хэшировались перед записью в базу данных.
Пункт обеспечивает вывод соответствующего сообщение об ошибке для запросов к заблокированным аккаунтам.
![]() | Блокирование учетных записей в средах с повышенными требованиями к безопасности |
|---|---|
Не используйте опцию , если ваше окружение имеет повышенные требования к безопасности, потому что сообщение «Учётная запись заблокирована» предоставляет важную с точки зрения безопасности информацию, которая может эксплуатироваться потенциальными злоумышленниками. | |
Введите DN объекта политики по умолчанию. Для использования DN, отличного от предложенного YaST, укажите здесь нужное значение. Иначе принимаются значения, установленные по умолчанию.
Завершите конфигурирование базы данных, нажав .
Если политики паролей не были выбирали, то сервер, в данный момент, готов к запуску. В противном случае, продолжите конфигурирование политик паролей. Если был выбран объект политики паролей, которого не существует, то YaST создаст его:
Введите пароль сервера LDAP. В навигационной панели ниже откройте объект вашей базы и активируйте пункт .
Убедитесь, что пункт активирован. Затем нажмите .
Сформируйте политику изменения паролей:
Определите количество паролей, хранящихся в истории. Сохраненные пароли не могут использоваться пользователем несколько раз.
Определите, будут ли пользователи иметь возможность менять свои пароли и будет ли им нужно задать новый пароль, после его сброса администратором. Дополнительно, при изменении пароля можно затребовать ввод старого пароля.
Определите, какую сложность должен иметь пароль. Задается минимальная длина, меньше которой пароль не принимается. Если выбрано , то пользователи смогут использовать зашифрованные пароли, но в этом случае их проверка не может быть выполнена. Если выбрано , то пароли, не удовлетворяющие всем критериям сложности, будут отклоняться.
Определите политику устаревания паролей:
Определите минимальный срок дествия паролей (время, которое должно пройти до появления возможности изменить текущий пароль) и максимальный возраст пароля.
Определите временной промежуток используемый для вывода предупреждения о истечении времени действия пароля перед его фактическим устареванием.
Установите количество выводимых предупреждений об окончании срока действия пароля перед тем, как он станет недействительным.
Определите политики блокировок:
Разрешите блокировку паролей.
Укажите количество неудачных попыток, по исчерпании которых пароль блокируется.
Укажите, на какое время будет блокироваться пароль.
Укажите, как долго неудачные попытки ввода паролей будут храниться в кэше.
Сохраните сделанные настройки политик паролей, нажав .
Чтобы отредактировать ранее созданную базу данных, выберите ее DN в дереве слева. В правой части окна, YaST покажет диалог, подобный тому, который использовался при создании новой базы данных (с главным отличием в том, что запись основного DN неактивна и не может быть изменена).
После того, как все необходимые настройки в конфигурацию сервера LDAP будут внесены, нажмите . Ваш сервер LDAP готов к работе. Для тонкой настройки используйте механизм динамического конфигурирования OpenLDAP.
Механизм динамического конфигурирования OpenLDAP хранит настройки в самой базе
данных LDAP. Она состоит из набора .ldif файлов в каталоге
/etc/openldap/slapd.d. Доступа к этим файлам напрямую не требуется.
Для доступа к настройкам можно воспользоваться модулем YaST Сервер LDAP (пакет
yast2-ldap-server) или клиентом LDAP с помощью команд:
ldapmodify или ldapsearch. Дополнительную
информацию об этом механизме см. в Руководстве администратора OpenLDAP.
YaST включает в себя модуль для установки управления пользователями через LDAP. Если эта возможность не была выбрана во время установки, то запустите модуль, выбрав +. YaST автоматически произведет изменения для PAM и NSS, необходимые для LDAP, и установит необходимые файлы. Просто подключите клиента к серверу и пусть YaST управляет пользователями через LDAP. Эти действия описаны в Раздел 4.4.1, «Стандартная процедура настройки».
Используйте Клиент LDAP для последующего задания настроек в модулях YaST по настройке групп и пользователей. Сюда относится задание настроек по умолчанию для новых пользователей и групп, а также количество и характер атрибутов, назначенных пользователю или группе. Управление пользователями через LDAP позволяет применять гораздо больше атрибутов к пользователям и группам, чем традиционные решения. Это описано в Раздел 4.4.2, «Конфигурирование модулей YaST управления пользователями и группами».
Стандартный диалог настройки клиента LDAP (см. Рисунок 4.6, «YaST: Конфигурация клиента LDAP») открывается во время установки, если выбрано управление пользователями через LDAP или если выбрать + в Центре управления YaST во время установки.
Для аутентификации и управления пользователей через сервер OpenLDAP выполните следующие действия:
Нажмите , для активации авторизации через LDAP. Выберите , если нужно использовать LDAP для проверки подлинности, но, при этом, другие пользователи не могли авторизироваться через этот клиент.
Введите IP-адрес используемого сервера LDAP.
Введите для выбора базы поиска на сервере LDAP. Для получения базового DN автоматически нажмите . После этого YaST проверит каждую базу данных LDAP на сервера, указанном выше. Выберите необходимый базовый DN из результатов поиска, предоставленных YaST.
Если сервер требует, чтобы соединение защищалось с помощью TLS или SSL, то выберите . Нажмите , чтобы загрузить сертификат в PEM-формате по указанному URL.
Выберите для монтирования
удаленных директорий на клиенте, такие как внешний каталог
/home.
Выберите для автоматического создания домашнего каталога пользователя при первом входе в систему.
Нажмите , чтобы применить настройки.
Для изменения данных на сервер, в качестве администратора, нажмите . Следующее диалоговое окно разделено на две вкладки. См. Рисунок 4.7, «YaST: Дополнительная настройка».
На вкладке измените следующие параметры, если это необходимо:
Если база поиска для пользователей, паролей и групп отличается от глобальной базы поиска, указанной в , введите нужные значения в , и .
Укажите протокол используемый для смены пароля. Стандартный метод, который
используется по умолчанию — crypt —
используются хэши паролей, созданные crypt. За более
подробной информацией об этой и других опциях обратитесь к man-странице
pam_ldap.
Укажите группу LDAP, которая будет использоваться в . Значение по умолчанию — member.
Если для проверки сертификата требуется защищенное соединение, то укажите его расположение в PEM-формате в . Или укажите каталог с сертификатом.
Если сервер LDAP по прежнему использует LDAPv2, то укажите использовать эту версию протокола выбрав .
В измените следующие параметры:
Установите базу для хранения данных управления пользователями через .
Введите соответствующее значение для .
Это DN должно быть идентично значению rootdn, указанному
в /etc/openldap/slapd.conf, чтобы дать возможность
простым пользователям манипулировать данными, хранящимися на сервере LDAP.
Введите полное имя DN (например, cn=Administrator,dc=example,dc=com)
или активируйте , чтобы основной DN
автоматически добавлялся при вводе cn=Administrator.
Отметьте для создания основных объектов конфигурации на сервере, чтобы разрешить управление пользователями через LDAP.
Если клиентская машина должна служить файловым сервером для домашних каталогов пользователей сети, то отметьте .
Используйте раздел для выбора, добавления, изменения или удаления параметров настройки использующихся политик паролей. Конфигурация политики паролей с помощью YaST является одной из частей установки сервера LDAP.
Нажмите , чтобы выйти из , затем для принятия настроек.
Используйте для редактирования записей на сервере LDAP. Доступ к модулям конфигурации предоставляется согласно ACL и ACI, находящимся на сервере. Следуйте указаниям описанным в Раздел 4.4.2, «Конфигурирование модулей YaST управления пользователями и группами».
Используйте YaST Клиент LDAP для адаптации модуля управления пользователями и группами и расширения их по необходимости. Определите шаблон со значениями по умолчанию для конкретных атрибутов, чтобы сделать процедуру регистрацию данных более простой. Преднастройки, сделанные здесь, хранятся, как объекты LDAP в каталоге LDAP. Регистрация данных пользователей совершается с помощью обычных модулей YaST для управления пользователями и группами. Зарегистрированные данные хранятся в виде объектов LDAP на сервере.
Диалог конфигурации модулей (Рисунок 4.8, «YaST: Конфигурация модулей») позволяет создать новые модули, выбирать и модифицировать уже существующие модули, а также создавать и изменять шаблоны для таких модулей.
Для создания нового модуля конфигурации проделайте следующее:
В нажмите , затем откройте вкладку . Нажмите и укажите полномочия сервера LDAP.
Нажмите и выберите тип создаваемого модуля.
Для модуля конфигурации пользователя выберите
suseUserConfiguration, а для конфигурации группы —
suseGroupConfiguration.
Укажите имя нового шаблона (например, userConfig).
Затем содержимое будет выведено в виде таблицы с перечислением всех
атрибутов, разрешенных в этом модуле, с установленными им
значениями.
Оставьте предустановленные значения или укажите собственные выбрав
соответствующий атрибут и нажав введите новое
значение. Переименуйте модуль, просто изменив атрибут cn.
Для удаления выбранного модуля модуля нажмите .
После нажатия на новый модуль будет добавлен в меню выбора.
В модуль YaST для администрирования пользователей и групп уже встроены шаблоны с разумными стандартными значениями. Чтобы отредактировать шаблон, связанный с модулем конфигурации, сделайте следующее (Рисунок 4.9, «YaST: Конфигурирование шаблона объекта»):
В диалоге нажмите .
Задайте нужные значения для общих атрибутов, относящихся к этого шаблону, или оставьте их пустыми. Пустые атрибуты удаляются на сервере LDAP.
Измените, удалите или добавьте новые значения по умолчанию для новых объектов (объекты конфигурирования пользователей и групп в дереве LDAP).
Объедините шаблон с его модулем, установив в атрибута модуля
susedefaulttemplate значение DN соответствующего шаблона.
![]() | |
Значения по умолчанию для атрибутов можно создать используя другие атрибуты
используя переменную вместо абсолютного значения. Например, при создании
нового пользователя указав | |
Как только все модули и шаблоны настроены правильно и готовы к работе, новые группы и пользователи могут быть зарегистрированы обычным способом через YaST.
Фактическая регистрация данных пользователей и групп лишь слегка отличается от процедуры без использования LDAP. Следующие инструкции относятся к администрированию пользователей. Процесс администрирования групп аналогичен.
Перейдите к администрированию пользователей в YaST: +.
Используйте меню , чтобы ограничиться только пользователями LDAP, введя пароль Root DN.
Нажмите и укажите параметры для нового пользователя. Откроется диалог с четырьмя вкладками:
Укажите имя пользователя, его логин и пароль на вкладке .
На вкладке уточните членство в группах, оболочку входа и домашний каталог нового пользователя. При необходимости, измените значения по умолчанию на нужные значения значения. Значения по умолчанию так же, как и настройки пароля, могут быть определены с помощью процедуры, описанной в Раздел 4.4.2, «Конфигурирование модулей YaST управления пользователями и группами».
Измените или оставьте настройки по умолчанию на вкладке .
Выберите вкладку , затем выберите плагин LDAP и нажмите для настройки дополнительных атрибутов LDAP нового пользователя (см. Рисунок 4.10, «YaST: Дополнительные настройки LDAP»).
Нажмите для сохранения настроек и выхода из модуля конфигурирования пользователя.
При открытии формы администрирования пользователей выводятся . И предоставляется возможность применять фильтры поиска в LDAP для выбора доступных пользователей или перейти к модулю для конфигурирования пользователей и групп LDAP, выбрав .
Для просмотра дерева каталогов LDAP и всех его записей удобно использовать Обозреватель LDAP в YaST:
Зайдите под пользователем root.
Запустите ++.
Введите адрес сервера LDAP, DN администратора и пароль для корневого DN этого сервера (если нужен доступ к данным, хранящимся на сервере не только на чтение, но и на запись).
Или не вводите пароль и выберите .
Во вкладке отображается содержимое каталога LDAP, к которому подключена ваша машина. Нажмите на элемент, чтобы раскрыть его содержимое.
Для более подробного просмотра записей выберите ее во вкладке и перейдите на вкладку .
Будут отображены все атрибуты и значения, относящиеся к этой записи.
Чтобы изменить значение любого из этих атрибутов, выберите его и нажмите . Введите новое значени и нажмите . Будет запрошен пароль от корневого DN.
Выйдите из браузера LDAP нажав .
YaST использует базу данных OpenLDAP динамической конфигурации
(back-config) для хранения настроек серверов LDAP.
Для получения дополнительной информации о механизме динамической конфигурации
см. man-страницу slapd-config(5) или Руководство
администратора OpenLDAP 2.4 доступного в файле
/usr/share/doc/packages/openldap2/guide/admin/guide.html
после установки пакета openldap2.
![]() | Обновление старой установки OpenLDAP |
|---|---|
YaST больше не использует файл | |
Чтобы получить доступ к серверной конфигурации в удобной форме, можно воспользоваться
внешний SASL-аутентификацией. Например, с помощью команды ldapsearch
запущенной от имени пользователя root можно полностью просмотреть конфигурацию
slapd:
ldapsearch -Y external -H ldapi:/// -b cn=config
Как только сервер LDAP полностью настроен и все необходимые записи
сделаны согласно образцу, описанному в
Раздел 4.8, «Управление данными в каталоге LDAP», запустите сервер с правами
пользователя root, введя команду
rcldap start. Для остановки сервера
вручную, введите rcldap stop.
Запросить статус запущенного сервера можно с помощью команды
rcldap status.
Редактор уровня запуска YaST можно использовать для запуска и остановки сервера при загрузке и остановке системы соответственно. Также есть возможность создать символические ссылки для скриптов старта и остановки с помощью команды insserv.
OpenLDAP предоставляет серию инструментов для администрирования данными в каталоге LDAP. Четыре наиболее важных инструмента для добавления, удаления, поиска и изменения набора данных кратко описаны ниже.
Если конфигурация вашего сервера LDAP выполнена корректно и
готова к использованию (имеются соответствующие записи для
suffix, directory,
rootdn, rootpw и
index), то можно приступить к вводу записей. Для этой
задачи OpenLDAP предоставляет команду ldapadd. Если
возможность — добавляйте объекты в базу данных в связке (по вполне
практичным причинам). Для этого в LDAP присутствует поддержка обработки
данных в формате LDIF (LDAP data interchange format — Формат обмена
данными LDAP). Файл LDIF — это простой тестовый файл, содержащий
произвольное количество пар атрибутов и значений.
Файл LDIF для создания структуры приведен, например, на
Рисунок 4.1, «Структура каталога LDAP» мог бы выглядеть, как в
Пример 4.2, «Пример файла LDIF».
![]() | Кодировка файлов LDIF |
|---|---|
LDAP работает с UTF-8 (Юникод). Умляуты должны кодироваться правильно. В противном случае, избегайте использования умляутов и других специальных символов или используйте iconv для перевода кодировки в UTF-8. | |
Пример 4.2. Пример файла LDIF¶
# The Organization dn: dc=example,dc=com objectClass: dcObject objectClass: organization o: Example dc: example # The organizational unit development (devel) dn: ou=devel,dc=example,dc=com objectClass: organizationalUnit ou: devel # The organizational unit documentation (doc) dn: ou=doc,dc=example,dc=com objectClass: organizationalUnit ou: doc # The organizational unit internal IT (it) dn: ou=it,dc=example,dc=com objectClass: organizationalUnit ou: it
Сохраните файл с суффиксом .ldif, затем отправьте
его на сервер с помощью следующей команды:
ldapadd -x -Ddn_of_the_administrator-W -ffile.ldif
Ключ -x, в данном случае, отключает аутентификацию с
помощью SASL. Ключ -D указывает пользователя от имени
которого инициируется данное действие. Действительный DN администратора,
введенный здесь, должен быть таким же, как в файле
slapd.conf. В данном примере, это
cn=Administrator,dc=example,dc=com.
Ключ -W предотвращает ввод пароля в командной строке
(открытым текстом) и активирует отдельное приглашение для ввода пароля.
С помощью ключа -f указывается имя файла. Детали работы
ldapadd можно посмотреть в Пример 4.3, «ldapadd и example.ldif».
Пример 4.3. ldapadd и example.ldif¶
ldapadd -x -D cn=Administrator,dc=example,dc=com -W -f example.ldif Enter LDAP password: adding new entry "dc=example,dc=com" adding new entry "ou=devel,dc=example,dc=com" adding new entry "ou=doc,dc=example,dc=com" adding new entry "ou=it,dc=example,dc=com"
Данные конкретного пользователя могут быть подготовлены в отдельном файле LDIF.
В Пример 4.4, «Данные LDIF для пользователя Tux» пользователь
Tux добавляется в новый каталог LDAP.
Пример 4.4. Данные LDIF для пользователя Tux¶
# coworker Tux dn: cn=Tux Linux,ou=devel,dc=example,dc=com objectClass: inetOrgPerson cn: Tux Linux givenName: Tux sn: Linux mail: tux@example.com uid: tux telephoneNumber: +49 1234 567-8
Файл LDIF может содержать произвольное количество объектов. Возможно сразу отправить полные ветви каталога на сервер или только его часть, как показано в примере для конкретных объектов. Если требуется менять отдельные данные достаточно часто, то рекомендуется использовать для этого отдельную часть одиночного объекта.
Для модификации набора данных предоставляется команда ldapmodify
Наиболее простой способ сделать это — изменить соответствующий файл LDIF, а
затем отправить его на сервер. Так, для того, чтобы изменить номер телефона коллеги
Tux с +8 1234 5 67-08
на +8 1234 5 67-10 отредактируйте LDIF-файл, как показано в
Пример 4.5, «Изменение файла tux.ldif».
Пример 4.5. Изменение файла tux.ldif¶
# coworker Tux dn: cn=Tux Linux,ou=devel,dc=example,dc=com changetype: modify replace: telephoneNumber telephoneNumber: +8 1234 5 67-10
Импортируйте измененный файл в каталог LDAP с помощью следующей команды:
ldapmodify -x -D cn=Administrator,dc=example,dc=com -W -f tux.ldif
Или отправьте измененные атрибуты напрямую с помощью команды ldapmodify:
Запустите ldapmodify и введите пароль:
ldapmodify -x -D cn=Administrator,dc=example,dc=com -W Enter LDAP password:
Введите измененные данные (внимательно следите за правильностью синтаксиса) в порядке приведенном ниже:
dn: cn=Tux Linux,ou=devel,dc=example,dc=com changetype: modify replace: telephoneNumber telephoneNumber: +8 1234 5 67-10
Более подробную информацию о команде ldapmodify и его синтаксисе смотрите на соответствующей man-странице.
OpenLDAP представляет инструмент командной строки для поиска и чтения данных внутри каталога LDAP — ldapsearch. Простой запрос можно выполнить следующим образом:
ldapsearch -x -b dc=example,dc=com "(objectClass=*)"
Ключ -b задет базу для поиска (раздел дерева, внутри которого
будет производиться поиск). В данном случае, это dc=example,dc=com.
Чтобы выполнить более подробный поиск в конкретном подразделе каталога LDAP
(например, только в пределах раздела devel), укажите его
ldapsearch с помощью ключа -b.
Ключ -x запрашивает активацию простой авторизации.
Строка (objectClass=*) объявляет, что необходимо прочитать
все объекты, содержащиеся в каталоге. Эта опция может использоваться для проверки,
что все записи были указаны правильно и сервер отвечает корректно, например,
после создания нового дерева каталогов. Дополнительную информацию об использовании
этой команды можно найти на man-странице ldapsearch(1).
Удалить нежелательные записи можно с помощью команды ldapdelete.
Её синтаксис схож с синтаксисом описанных выше команд. Например, чтобы удалить всю
информацию о связанной с записью Tux Linux, запустите следующую
команду:
ldapdelete -x -D cn=Administrator,dc=example,dc=com -W cn=Tux \ Linux,ou=devel,dc=example,dc=com
Более сложные темы, вроде конфигурирования SASL или установки реплицирующего сервера LDAP, который распределяет нагрузку на множество подчиненных, намеренно не вошли в этот раздел. Детальная информация об этих темах может быть найдена в Руководство администратора OpenLDAP 2.4.
Веб-сайт проекта openLDAP предоставляет исчерпывающую информацию для начинающих и продвинутых пользователей.
Очень богатая коллекция с вопросами и ответами на них по поводу установки, настройки и использования openLDAP. Посетите http://www.openldap.org/faq/data/cache/1.html.
Краткие пошаговые инструкции по установке вашего первого сервера LDAP. Ищите
их на
http://www.openldap.org/doc/admin24/quickstart.html
или в установленной системе в разделе 2 файла
/usr/share/doc/packages/openldap2/guide/admin/guide.html.
Детальное введение во все важные аспекты конфигурации LDAP, в том числе,
контроль доступа и шифрование. Смотрите на
http://www.openldap.org/doc/admin24/ или в установленной
системе /usr/share/doc/packages/openldap2/guide/admin/guide.html.
Детальное общее введение в основные принципы LDAP : http://www.redbooks.ibm.com/redbooks/pdfs/sg244986.pdf.
Печатная литература о LDAP:
LDAP System Administration by Gerald Carter (ISBN 1-56592-491-6)
Understanding and Deploying LDAP Directory Services by Howes, Smith, and Good (ISBN 0-672-32316-8)
Последний справочный материал по теме LDAP — соответствующие документы RFC (запрос комментариев), с 2251 по 2256.