Content-type: text/html Manpage of SLAPD-SHELL

SLAPD-SHELL

Section: File Formats (5)
Updated: 2005/10/13
Index Return to Main Contents
 

名前

slapd-shell - slapd の Shell バックエンド  

所在

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

説明

slapd(8) の Shell バックエンドは 操作を処理するのに外部プログラムを実行するようになっていて、 既存のデータベースと slapd フロントエンドとを結びつけるのが容易になるように設計されています。

このバックエンドは主にプロトタイプで利用するように意図しています。  

警告

abandon シェルコマンドは OpenLDAP 2.1 からサポートしていません。  

設定オプション

ここにあげる slapd.conf オプションは SHELL バックエンドデータベースに指定できます。 すなわち、これらのオプションは "database shell" とある行の後で、次の "backend" あるいは "database" 行が現れる前になければなりません。 この他に指定できるデータベースオプションについては slapd.conf(5) マニュアルページを参照してください。

これらのオプションは与えられた LDAP 操作への応答で実行するプログラムのパス名と引数を指定します。 以下にあげる各オプションの後にはプログラムが 受け取る入力行が何かを示しています。

add <pathname> <argument>...
ADD
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
<entry in LDIF format>
bind <pathname> <argument>...
BIND
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
dn: <DN>
method: <method number>
credlen: <length of <credentials>>
cred: <credentials>
compare <pathname> <argument>...
COMPARE
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
dn: <DN>
<attribute>: <value>
delete <pathname> <argument>...
DELETE
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
dn: <DN>
modify <pathname> <argument>...
MODIFY
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
#dn: <DN>
<repeat {
    <"add"/"delete"/"replace">: <attribute>
    <repeat { <attribute>: <value> }>
    -
}>
modrdn <pathname> <argument>...
MODRDN
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
dn: <DN>
newrdn: <new RDN>
deleteoldrdn: <0 or 1>
<if new superior is specified: "newSuperior: <DN>">
search <pathname> <argument>...
SEARCH
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
base: <base DN>
scope: <0-2, see ldap.h>
deref: <0-3, see ldap.h>
sizelimit: <size limit>
timelimit: <time limit>
filter: <filter>
attrsonly: <0 or 1>
attrs: <"all" or space-separated attribute list>
unbind <pathname> <argument>...
UNBIND
msgid: <message id>
<repeat { "suffix:" <database suffix DN> }>
dn: <bound DN>

バックエンドに処理してほしいコマンドを設定行に指定するだけです。 コマンドの指定されていない操作を行うと "unwilling to perform" エラー となって拒絶されます。

コマンド(unbind を除く)は以下を出力すべきです。

RESULT
code: <integer>
matched: <matched DN>
info: <text>
RESULT は必ず出力してください。 search の RESULT では結果コードの前に検索したエントリを LDIF フォーマットで出力します(各エントリの後にはブランク行を付けます)。 `#' または `DEBUG:' で始まる行は無視されます。  

ACCESS CONTROL

The shell backend does not honor all ACL semantics as described in slapd.access(5). In general, access to objects is checked by using a dummy object that contains only the DN, so access rules that rely on the contents of the object are not honored. In detail:

The add operation does not require write (=w) access to the children pseudo-attribute of the parent entry.

The bind operation requires auth (=x) access to the entry pseudo-attribute of the entry whose identity is being assessed; auth (=x) access to the credentials is not checked, but rather delegated to the underlying shell script.

The compare operation requires read (=r) access (FIXME: wouldn't compare (=c) be a more appropriate choice?) to the entry pseudo-attribute of the object whose value is being asserted; compare (=c) access to the attribute whose value is being asserted is not checked.

The delete operation does not require write (=w) access to the children pseudo-attribute of the parent entry.

The modify operation requires write (=w) access to the entry pseudo-attribute; write (=w) access to the specific attributes that are modified is not checked.

The modrdn operation does not require write (=w) access to the children pseudo-attribute of the parent entry, nor to that of the new parent, if different; write (=w) access to the distinguished values of the naming attributes is not checked.

The search operation does not require search (=s) access to the entry pseudo_attribute of the searchBase; search (=s) access to the attributes and values used in the filter is not checked.

 

設定例

OpenLDAP ソースツリーの slapd/back-shell/ ディレクトリに検索スクリプトの例があります。  

制限

shell バックエンドはスレッド環境をサポートしません。 shell バックエンドを使うには slapd(8) を --without-threads. で構築してください。  

関連ファイル

/usr/local/etc/openldap/slapd.conf デフォルト slapd 設定ファイル  

関連項目

 

和訳

稲地 稔 <inachi@kkd.biglobe.ne.jp>


 

Index

名前
所在
説明
警告
設定オプション
ACCESS CONTROL
設定例
制限
関連ファイル
関連項目
和訳

This document was created by man2html, using the manual pages.
Time: 07:24:59 GMT, October 27, 2005