SLAPD-SHELL

Section: File Formats (5)
Updated: 2004-01-22
Index
 

名前

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

所在

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

説明

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

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

警告

このバックエンドの利用法は OpenLDAP 2.0 から変更されています。 abandon 操作では現在 "pid:" 行があります。 "msgid:" 行は将来バージョンで除去されます。  

設定オプション

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

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

abandon <pathname> <argument>...
ABANDON
msgid: <message ID of operation to abandon>
<repeat { "suffix:" <database suffix DN> }>
pid: <process ID of operation to abandon>
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" エラー となって拒絶されます。

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

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

設定例

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

制限

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

関連ファイル

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

関連項目

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

和訳

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


 

Index

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