SLAPD

Section: Maintenance Commands (8C)
Updated: 2005/11/18
Index Return to Main Contents
 

名前

slapd - スタンドアローン LDAP デーモン  

書式

/usr/local/libexec/slapd [-[4|6]] [-T {acl|add|auth|cat|dn|index|passwd|test}] [-d debug-level] [-f slapd-config-file] [-F slapd-config-directory] [-h URLs] [-n service-name] [-s syslog-level] [-l syslog-local-user] [-r directory] [-u user] [-g group] [-c cookie]  

説明

slapd はスタンドアローンの LDAP デーモンです。このデーモンは、いくつもの ポート(デフォルトは 389)の LDAP コネクションで LDAP 操作を受け付けて応答します。 slapd は通常、OS のブート時に(普通 /etc/rc.local から)起動されます。 通常 slapd を起動すると、フォークを行って起動した tty から自分自身を切り離します。 設定ファイル(または設定ディレクトリ)に設定があれば、 slapd のプロセスは自分のプロセス ID ( getpid(2) を参照)を .pid ファイルに書き出します。同様に設定があれば、起動時のコマンドライン オプションを .args ファイルに書き出します( slapd.conf(5) を参照)。 オプション -d が与えられていれば、そのデバッグ指定が 0 であっても、 slapd はフォークせず、起動した tty と切り離されません。

slapd は、 slurpd (スタンドアローン LDAP 更新複製デーモン)と協力して、 データベースの複製サービスを提供するように設定できます。 詳しくは slurpd(8) を参照してください。

slapd についてより詳しくは "OpenLDAP 管理者ガイド" を参照してください。  

オプション

-4
IPv4 アドレスだけを受けつけます。
-6
IPv6 アドレスだけを受けつけます。
-T {a|c|d|i|p|t|acl|auth}
ツールモードで起動します。引数は slapadd, slapcat, slapdn, slapindex, slappasswd, slaptest のどのモードで起動するかを指示します("a" は slapadd を表すため、slapacl と slapauth では、オプション値にそれぞれ "acl", "auth" を指定する必要があります)。 このオプションは、コマンドラインの中で一番最初に指定してください。 継続して指定するオプションは該当する slap ツールプログラムによって解釈されます。 普通、これらのツールプログラムは slapd にシンボリックリンクされています。 このようなオプションを提供するのは、シンボリックリンクされていない場合、 またはシンボリックリンクが利用できない状況に対処するためです。
-d debug-level
デバッグモードを debug-level にします。このオプションを指定すると、そのデバッグ指定が 0 であっても、 slapd はフォークせず、起動した端末から切り離されません。一般的な操作と 状態のメッセージが debug-level の値に応じて出力されます。 debug-level はビットストリングとして扱われます。その各ビットは それぞれ行ったデバッグ情報に対応しています。詳しくは <ldap.h> を参照 してください。 パケットの記録をとるようにしていた場合、記録されるパケットにはバインド時の パスワードも含まれることに注意してください。この記録をログファイルに リダイレクトするなら、ファイルに読取り制限をかけるようにしてください。
-s syslog-level
このオプションは、 syslog(8) 機能にどのレベルのデバッグ情報を記録するかを slapd に示します。
-n service-name
ログ採取などで使われるサービス名を指定します。 デフォルトは argv[0] のベースネーム(basename)、すなわち "slapd" です。
-l syslog-local-user
機能のローカルユーザを指定します。値は LOCAL0 から LOCAL7、 そして USERDAEMON. のうちのどれかにできます。デフォルトは LOCAL4 です。しかし、このオプションは syslog(8) 機能でローカルユーザをサポートしているシステムでのみ許されます。
-f slapd-config-file
slapd の設定ファイルを指定します。デフォルトは /usr/local/etc/openldap/slapd.conf です。
-F slapd-config-directory
slapd の設定ディレクトリを指定します。デフォルトは /usr/local/etc/openldap/slapd.d です。オプション -f-F の両方を指定した場合、設定ファイルが読み込まれ、設定ディレクトリの フォーマットに変換した後、指定の設定ディレクトリに書き込みます。 どちらのオプションも指定しなかった場合、slapd はデフォルトの設定ファイルを利用しようとする前にデフォルトの 設定ディレクトリからの読み込みを試みます。 正しい設定ディレクトリが存在していればデフォルトの設定ファイルは 無視されます。 設定オプションを指定できるすべての slap ツールでも、 これと同じ処理を行います。
-h URLlist
slapd はデフォルトで ldap:/// (デフォルトの LDAP ポート 389 ですべてのインタフェースを扱う TCP上の LDAP)にて応対します。つまり INADDR_ANY とポート 389 を使ってバインドします。 オプション -h は応対する LDAP (および他のスキームの) URL を指定するために使われます。 たとえば slapd に -h dqldap://127.0.0.1:9009/ ldaps:/// ldapi:///dq を与えると、LDAP については 127.0.0.1:9009、 TLS 上の LDAP と IPC (Unix ドメインソケット)上の LDAP については 0.0.0.0:636 で受け付けます。 ホスト 0.0.0.0 は INADDR_ANY (any interface)を表します。 このオプションの引数としては、スペースで区切られた URL のリストが求められます。 URL は LDAP, LDAPS, LDAPI のいずれかのスキームで指定し、 一般に DN やその他のオプションのパラメータを付けません(後述の例外あり)。 また、基盤の受付け機構の利用権を示す実験的な拡張を加えて 指定できます。LDAP over TLS と LDAP over IPC のサポートは構築時に指定したオプションに依存します。 ホストは、ホスト名で指定しても、IPv4 と IPv6 のアドレスフォーマットで 指定してもかまいません。ポートを指定する場合は数値で指定しなければなりません。 デフォルトの ldap:// のポートは 389 で、デフォルトの ldaps:// のポートは 636 です。

受付け機構の利用権は "x-mod=-rwxrwxrwx", "x-mod=0777", "x-mod=777" のどれかで示します。 ここで "rwx" のところには対応する利用権を与えないために "-" を指定でき、 "7" のところには 8 進数を指定できます。これらの値の規則は chmod(1) にしたがいます。 受付け機構ではLDAP操作に大雑把な制限を適用するのに "x-mod" 拡張の利点を活かせます。 たとえば読取り操作の許可("r" は検索と比較に適用)、 書込み操作の許可("w" は追加、削除、更新、名前変更に適用)、 実行操作の許可("x" はバインドが要求されることを意味)ができます。 "user" 利用権は認証ユーザに適用し、"other" 利用権は匿名ユーザに適用します。 "group" 利用権は無視します。 たとえば "ldap:///????x-mod=-rw-------" という指定では、 認証した接続についてだけ読取りと書込みを許可するので、 すべてのLDAP操作についてバインドが必要となります。 この機能は実験的なもので、configure スクリプト実行時に 有効にする指定が必要です。

-r directory
ルートディレクトリにするディレクトリを指定します。 slapd は現在の作業ディレクトリを指定のディレクトリに変え、 指定のディレクトリに chroot(2) します。 これは、受付け機構をオープンした後で、設定ファイルの読込みや バックエンドの初期化をする前に行います。 セキュリティ機構として使う場合にはオプション -u-g を合わせて使ってください。
-u user
指定したユーザ名あるいはユーザ ID で slapd を起動します。 この際、指定したユーザにより initgroups(3) で設定される 補足グループアクセスリストが使われます。 グループ ID は -g オプションで上書きしない限りユーザの GID に変更されます。 -r と一緒に指定する場合、slapd は変更するルート環境でのユーザデータベースを使います。

非特権ユーザで起動すると passwd バックエンドが暗号化されたパスワードに アクセスできなくなるシステムがあることに注意してください。 またシェルバックエンドは、指定した非特権ユーザで起動することにも 注意してください。

-g group
slapd を指定のグループ名またはグループIDで起動します。 オプション -r と一緒に指定する場合、slapd は変更するルート環境でのグループデータベースを使います。
-c cookie
このオプションは syncrepl 複製コンシューマのための cookie を提供します。 引数 cookie には name=value のペアをカンマで区切ったリストを指定します。 現在のところサポートしている syncrepl cookie フィールドには ridcsn があります。 rid はコンシューマサーバの複製スレッドの ID です。 これは、 slapd.conf(5) 内の syncrepl 指定から同じ ID を持った定義を見つけるために使われます。 rid には 既存に設定の済んでいる値を指定しなければなりません。 csn は前の同期化処理で受け取ったコミット連番(commit sequence number)であり、 syncrepl エンジンが現在のプロバイダの内容に同期化する コンシューマレプリカ内容の状態を表します。
 

使用例

slapd を起動し、フォークして端末から切り離し、デフォルトの設定ファイルに 定義した LDAP データベースのサービスを開始するには 次のようにするだけです。

        /usr/local/libexec/slapd

代替の設定ファイルで slapd を起動し、大量のデバッグ情報を標準エラーに出力するには次のようにします。

        /usr/local/libexec/slapd -f /var/tmp/slapd.conf -d 255

設定ファイルが適正であるかをテストするには次のようにします。

        /usr/local/libexec/slapd -Tt

 

関連項目

ldap(3), slapd.conf(5), slapd.access(5), slapacl(8), slapadd(8), slapauth(8), slapcat(8), slapdn(8), slapindex(8), slappasswd(8), slaptest(8), slurpd(8)

"OpenLDAP 管理者ガイド" (http://www.OpenLDAP.org/doc/admin/)  

バグ

http://www.openldap.org/its/ を参照。  

謝辞

OpenLDAP は OpenLDAP プロジェクト (http://www.openldap.org/ )が開発/管理しています。 OpenLDAP はミシガン大学の LDAP 3.3 リリースより派生しました。  

和訳

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


 

Index

名前
書式
説明
オプション
使用例
関連項目
バグ
謝辞
和訳