The OpenNET Project / Index page

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

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

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

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

    НАЗВАНИЕ

    slapd-shell - механизм манипуляции данными для slapd shell  

    ОБЗОР

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

    ОПИСАНИЕ

    Механизм манипуляции данными для slapd(8) shell выполняет внешние программы для реализации операций. Он предназначен для упрощения привязки существующих баз данных к внешнему интерфейсу slapd.

    Этот механизм манипуляции данными главным образом предназначен для использования в прототипах.  

    ПРЕДУПРЕЖДЕНИЕ

    Shell-команда abandon была удалена в OpenLDAP 2.1.  

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

    Приведённые ниже директивы slapd.conf применяются к базам данных механизма манипуляции данными SHELL. То есть, они должны следовать за строкой "database shell" и находиться до последующих строк "backend" или "database". Другие относящиеся к базам данных директивы описаны в man-странице slapd.conf(5).

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

    add <путь_до_скрипта> <аргументы>...
    ADD
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    <запись в формате LDIF>
    
    bind <путь_до_скрипта> <аргументы>...
    BIND
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN>
    method: <номер метода>
    credlen: <длина <учётных данных>>
    cred: <учётные данные>
    
    compare <путь_до_скрипта> <аргументы>...
    COMPARE
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN>
    <атрибут>: <значение>
    
    delete <путь_до_скрипта> <аргументы>...
    DELETE
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN>
    
    modify <путь_до_скрипта> <аргументы>...
    MODIFY
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN>
    <повторение {
        <"add"/"delete"/"replace">: <атрибут>
        <повторение { <атрибут>: <значение> }>
        -
    }>
    
    modrdn <путь_до_скрипта> <аргументы>...
    MODRDN
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN>
    newrdn: <новое RDN>
    deleteoldrdn: <0 или 1>
    <если указана новая вышестоящая запись: "newSuperior: <DN>">
    
    search <путь_до_скрипта> <аргументы>...
    SEARCH
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    base: <базовое DN>
    scope: <0-2, смотрите ldap.h>
    deref: <0-3, смотрите ldap.h>
    sizelimit: <ограничение по размеру>
    timelimit: <ограничение по времени>
    filter: <фильтр>
    attrsonly: <0 или 1>
    attrs: <"all" или разделённый пробелами список атрибутов>
    
    unbind <путь_до_скрипта> <аргументы>...
    UNBIND
    msgid: <идентификатор сообщения>
    <повторение { "suffix:" <DN суффикса базы данных> }>
    dn: <DN, от имени которого выполнено подсоединение>
    

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

    Команда search должна выдавать записи в формате LDIF, за каждой из которых следует пустая строка, а затем указанное ниже сообщение RESULT.

    Все эти команды, - за исключением unbind, - должны выдавать:

    RESULT
    code: <целое число>
    matched: <совпавшее DN>
    info: <текст>
    
    (обязательна только строка RESULT). Строки, начинающиеся с `#' или `DEBUG:' игнорируются.  

    КОНТРОЛЬ ДОСТУПА

    Механизм манипуляции данными shell не соблюдает все семантики ACL, описанные в man-странице slapd.access(5). В общем случае, доступ к объектам проверяется с использованием фиктивного объекта, который содержит только DN, поэтому правила доступа, основанные на анализе содержимого объекта, не выполняются. В частности:

    Для операции add не требуется иметь доступ write (=w) к псевдо-атрибуту children родительской записи.

    Для операции bind требуется доступ auth (=x) к псевдо-атрибуту entry той записи, идентификационная сущность которой оценивается; доступ auth (=x) к удостоверяющим данным не проверяется, а делегируется shell-скрипту, обрабатывающему запросы.

    Для операции compare требуется доступ read (=r) (ПОПРАВЬТЕ МЕНЯ: может быть, более подходящий вариант compare (=c) ?) к псевдо-атрибуту entry того объекта, в котором находится значение, подвергающееся сравнению; доступ compare (=c) к атрибуту, значение которого подвергается сравнению, не проверяется.

    Для операции delete не требуется иметь доступ write (=w) к псевдо-атрибуту children родительской записи.

    Для операции modify требуется доступ write (=w) к псевдо-атрибуту entry; доступ write (=w) к конкретным атрибутам, которые подвергаются модификации, не проверяется.

    Для операции modrdn не требуется иметь доступ write (=w) к псевдо-атрибутам children как текущей, так и новой родительской записи, если они различны; доступ write (=w) к отличительным значениям атрибутов именования не проверяется.

    Для операции search не требуется иметь доступ search (=s) к псевдо-атрибуту entry базовой записи поиска; доступ search (=s) к атрибутам и значениям, используемым в поисковых фильтрах, не проверяется.

     

    ПРИМЕР

    Пример скрипта с выполнением поиска находится в директории slapd/back-shell/ дерева исходных кодов OpenLDAP.  

    ОГРАНИЧЕНИЯ

    Механизм манипуляции данными shell не поддерживает потокового окружения. При использовании механизма shell, slapd(8) должен быть собран с опцией --without-threads.  

    ФАЙЛЫ

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

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

    slapd.conf(5), slapd(8), sh(1).


     

    Index

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


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




    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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