The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

slapo-dynlist (5)
  • >> slapo-dynlist (5) ( Русские man: Форматы файлов )
  •  

    НАЗВАНИЕ

    slapo-dynlist - наложение динамических списков для slapd  

    ОБЗОР

    /usr/local/etc/openldap/slapd.conf  

    ОПИСАНИЕ

    Наложение slapd(8) dynlist позволяет наполнять содержимым динамические группы и другие объекты. Каждый раз при возвращении записи с определённым объектным классом, значения заданного атрибута, представляющие собой LDAP URI, раскрываются путём выполнения поискового запроса LDAP, и перечисленные в URI атрибуты найденных записей добавляются в оригинальную запись. (Объектный класс и атрибут с LDAP URI определяются в конфигурации наложения). При выполнении поиска не позволяются рекурсии во избежание потенциальных бесконечных зацикливаний.

    Поскольку результирующая запись строится динамически, в своём конечном виде (со всеми собранными атрибутами) она существует только после построения, перед возвратом её клиенту. Как следствие, динамически добавленные атрибуты не участвуют в фазе оценки поискового фильтра при обработке поискового запроса. Другими словами, фильтрация по динамически добавленным атрибутам всегда завершается неудачей.

    Полученная в результате подстановки запись должна соответствовать модели данных LDAP, поэтому соблюдаются ограничения модели данных. К примеру, если в списке атрибутов перечислен атрибут, у которого разрешено только одно значение (SINGLE-VALUE), в итоговой записи будет присутствовать только первое из полученных в результате поиска значений. При использовании элемента управления manageDSAit (RFC 3296) описанных выше действий не происходит. В этом случае возвращается содержимое самой записи динамической группы, то есть URL не раскрываются, а сами возвращаются в ответ на запрос.

     

    КОНФИГУРАЦИЯ

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

    overlay dynlist
    Эта директива добавляет наложение dynlist к текущей базе данных или, при указании до определения какой-либо базы данных, к базе данных frontend; подробнее смотрите в slapd.conf(5).

    Следующая директива конфигурации slapd.conf определяется для наложения dynlist. Она может указываться несколько раз после директивы overlay.

    dynlist-attrset <group-oc> [<URI>] <URL-ad> [[<mapped-ad>:]<member-ad> ...]
    Значение group-oc представляет собой имя объектного класса (objectClass). При нахождении записи с этим объектным классом запускается процесс динамического наполнения этой записи данными.

    Опциональный URI ограничивает область действия директивы только теми записями, которые попадают в диапазон, задаваемый частями DN, scope и filter этого URI.

    Значение URL-ad представляет собой имя описания атрибута (attributeDescription), содержащего URI, посредством которого наложение будет наполнять запись данными. Если в записи нет ни одного такого атрибута, наполнение выполняться не будет. Если пересечение запрашиваемых в операции Search атрибутов (или атрибутов, присутствующих в утверждениях, предназначенных для выполнения сравнения) и атрибутов, перечисленных в URI, будет пустым, то расширения записи по данному конкретному URI происходить не будет. Указываемый в этом значении тип атрибута должен быть подтипом от labeledURI.

    Значение member-ad является опциональным; при его наличии, наложение dynlist переходит в режим составления динамической группы: в указанном атрибуте в качестве значений будут перечислены DN записей, найденных в результате выполнения внутреннего поиска по указанному в атрибуте URL-ad URI. В этом случае часть attrs данного URI должна быть опущена. Сравнения, в утверждениях которых присутствуют значения атрибута member-ad записи с объектным классом group-oc, выполняются так, как если бы DN записей, найденных в результате выполнения поиска по URI, присутствовали бы в записи с объектным классом group-oc как значения атрибута member-ad.

    Альтернативный вариант: можно использовать конструкцию mapped-ad:member-ad для отображения значений атрибутов, полученных в результате поиска, в значения других атрибутов. В этом случае DN записей, найденных в результате поиска, не используются для наполнения значений атрибута member-ad, но значения атрибутов member-ad, если те указанны в части attrs URI из атрибута URL-ad, отображаются в значения атрибутов mapped-ad. Можно задавать несколько настроек отображения.

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

     

    АВТОРИЗАЦИЯ

    По умолчанию поиск по URI и последующее наполнение записи выполняется с использованием идентификационной сущности текущего пользователя LDAP. Эту идентификационную сущность можно переопределить путём указания в атрибуте dgIdentity записи группы DN другого пользователя LDAP. В этом случае при поиске по URI и наполнении объекта будет использоваться идентификационная сущность пользователя, указанного в dgIdentity. Если в качестве значения dgIdentity задана строка нулевой длины, наполнение записи будет выполняться анонимно. Обратите внимание, что атрибут dgIdentity определён в наборе схемы данных dyngroup, который должен быть загружен перед тем, как использовать возможность авторизации с dgIdentity. Если в записи группы также присутствует атрибут dgAuthz, его значение используется для определения того, какие идентификационные сущности авторизованы использовать для наполнения этой группы идентификационную сущность, указанную в атрибуте dgIdentity. Значения в атрибуте dgAuthz должны соответствовать экспериментальному синтаксису OpenLDAP authz.

     

    ПРИМЕРЫ

    В этом примере все адреса электронной почты, присутствующие в базе данных, собираются в одной записи. Прежде всего, убедитесь, что в slapd.conf содержатся следующие директивы:

        include /path/to/dyngroup.schema
        # ...
    
        database <database>
        # ...
    
        overlay dynlist
        dynlist-attrset groupOfURLs memberURL
    

    Кроме того, убедитесь, что slapd загружает модуль dynlist.la, если тот скомпилирован в виде загружаемого модуля. После этого добавьте в базу данных такую запись:

        dn: cn=Dynamic List,ou=Groups,dc=example,dc=com
        objectClass: groupOfURLs
        cn: Dynamic List
        memberURL: ldap:///ou=People,dc=example,dc=com?mail?sub?(objectClass=person)
    

    Если в URI не указана часть <attrs>, будут собраны все (неоперационные) атрибуты.

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

        include /path/to/dyngroup.schema
        # ...
    
        database <database>
        # ...
    
        overlay dynlist
        dynlist-attrset groupOfURLs memberURL member
    

    Динамическая группа с авторизацией от имени записи, указанной в dgIdentity:

        dn: cn=Dynamic Group,ou=Groups,dc=example,dc=com
        objectClass: groupOfURLs
        objectClass: dgIdentityAux
        cn: Dynamic Group
        memberURL: ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)
        dgIdentity: cn=Group Proxy,ou=Services,dc=example,dc=com
    

     

    ФАЙЛЫ

    /usr/local/etc/openldap/slapd.conf
    конфигурационный файл slapd по умолчанию.
     

    СМОТРИТЕ ТАКЖЕ

    slapd.conf(5), slapd-config(5), slapd(8). Наложение slapo-dynlist(5) поддерживает динамическую конфигурацию через back-config.  

    ПРИЗНАНИЕ ЗАСЛУГ

    Этот модуль был написан в 2004 году Pierangelo Masarati для SysNet. Отображение атрибутов было добавлено Emmanuel Dreyfus в 2008 году.


     

    Index

    НАЗВАНИЕ
    ОБЗОР
    ОПИСАНИЕ
    КОНФИГУРАЦИЯ
    АВТОРИЗАЦИЯ
    ПРИМЕРЫ
    ФАЙЛЫ
    СМОТРИТЕ ТАКЖЕ
    ПРИЗНАНИЕ ЗАСЛУГ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру