日本LDAPユーザ会

LDAPMODIFY(1)

名前

ldapmodify, ldapadd - LDAP エントリ更新/追加ツール

書式

ldapmodify [ -a ] [ -c ] [ -S file ] [ -n ] [ -v ] [ -M[M] ] [ -d debuglevel ] [ -D binddn ] [ -W ] [ -w passwd ] [ -y passwdfile ] [ -H ldapuri ] [ -h ldaphost ] [ -p ldapport ] [ -P 2|3 ] [ -O security-properties ] [ -I ] [ -Q ] [ -U authcid ] [ -R realm ] [ -x ] [ -X authzid ] [ -Y mech ] [ -Z[Z] ] [ -f file ]

ldapadd [ -c ] [ -S file ] [ -n ] [ -v ] [ -M[M] ] [ -d debuglevel ] [ -D binddn ] [ -W ] [ -w passwd ] [ -y passwdfile ] [ -h ldaphost ] [ -p ldapport ] [ -P 2|3 ] [ -O security-properties ] [ -I ] [ -Q ] [ -U authcid ] [ -R realm ] [ -x ] [ -X authzid ] [ -Y mech ] [ -Z[Z] ] [ -f file ]

説明

ldapmodify は、 ldap_modify (3)ldap_add (3) のライブラリ関数に対応するコマンドラインインタフェースである。 ldapadd は、ldapmodify コマンドへのハードリンクとなっている。 ldapadd として起動すると、オプション -a (新しいエントリの追加)を暗黙に指定したものとみなす。

ldapmodify は LDAP サーバに接続してバインドした後に、エントリの更新あるいは追加を行う。 エントリ情報は標準入力あるいは -f オプションで指定した ファイル file から読み込む。

オプション

-a
新しいエントリを追加する。 ldapmodify でこのオプションを指定しなければ既存エントリの更新となります。 ldapadd として起動すると、このオプションを常に設定します。
-c
継続操作モードにする。エラーが報告されても ldapmodify は更新を継続する。デフォルトではエラーを報告した後に終了する。
-S file
エラーによりスキップした追加/更新レコードを指定のファイル file に書き込む。サーバから返されたエラーメッセージもコメントとして付加する。 オプション -c と組み合わせて使用すると最も有効。
-n
何が行われるのかを示すが、実際にエントリを更新/追加しない。 デバッグを目的に -v とともに利用する。
-v
冗長モードで実行する。標準出力に多くの診断情報を書き出す。
-F
入力行が replica: で始まっている場合、その内容にかかわらずすべての更新を強制する (デフォルトでは、replica: 行の内容が LDAP サーバのホストおよびポート と比較され、replog レコードを実際に適用すべきかを決定する)。
-M[M]
ManageDsaIT 制御を有効にする(referral エントリを通常のエントリと同様に扱う)。 -MM の指定は、サーバで ManageDsaIT 制御を利用できない場合に、 操作を実行しないようにする。
-d debuglevel
LDAP のデバッグレベルを debuglevel に設定する。 このオプションが効果を持つためには、 ldapmodify をマクロ LDAP_DEBUG 付きでコンパイルしておく必要がある。
-f file
標準入力の代わりにファイル file からエントリ更新情報を読み込む。
-x
SASL の代わりに簡易認証を使う。
-D binddn
LDAP ディレクトリにバインドする識別名 binddn を指定する。
-W
簡易認証のためのプロンプトを出す。 これはコマンドラインにパスワードを指定する代わりに利用する。
-w passwd
簡易認証のためのパスワード passwd を指定する。
-y passwdfile
簡易認証のためのパスワードにファイル passwdfile の内容すべてを利用する。
-H ldapuri
LDAP サーバを参照する URI を指定する。 URI 中にはプロトコル、ホスト、ポートのみを指定できる。 URI のリストは、各 URI を空白かカンマで区切って指定する。
-h ldaphost
LDAP サーバが動作しているホストを指定する。 このオプションは時代遅れなので -H の利用を推奨する。
-p ldapport
LDAP サーバに接続するための TCP ポートを指定する。 このオプションは時代遅れなので -H の利用を推奨する。
-P 2|3
利用する LDAP プロトコルのバージョンを指定する。
-O security-properties
SASL のセキュリティプロパティを指定する。
-I
SASL 対話モードにする。常にプロンプトを出す。 デフォルトでは必要なときにだけプロンプトを出す。
-Q
SASL 非対話モードにする。プロンプトは出さない。
-U authcid
SASL バインドのための認証 ID を指定する。 認証 ID の型式は実際に使用する SASL 機構に依存する。
-R realm
SASL バインドのための認証IDのレルム(realm)を指定する。 レルムの形式は実際に使用する SASL 機構に依存する。
-X authzid
SASL バインドのための要求認可IDを指定する。 authzid は次のフォーマットのいずれかである必要がある。 dn: <識別名> あるいは u: <ユーザ名>
-Y mech
認証に使う SASL 機構を指定する。このオプションを指定しなければ、 サーバがサポートする最良の機構を選択する。
-Z[Z]
StartTLS (Transport Layer Security)拡張操作を発行する。 もし -ZZ が指定されたならば、コマンドはこの操作の成功を要求する。

入力フォーマット

file (コマンドラインに -f オプションを与えていなければ標準入力)の 内容は、以下に述べる例外を除いて ldif (5) (RFC 2849 に定義の IDIF)あるいは slapd.replog (5) (LDIF の拡張)に定義されたフォーマットにしたがう。

"replica:" で始まる行は LDAP サーバのホストとポートに対応していて、 特定の replog レコードを適用するかを決定するために利用する。 他に "dn:" に先行する行があっても無視する。 "replica:" 行のあるなしに関わらず ldapmodify に replog の変更のすべてを適用するよう強制するには、 オプション -F を指定する。

"changetype:" 行が無い場合、-a オプションが設定されていれば (または、このプログラムが ldapadd として起動されていれば)、デフォルトは "add" であり、さもなければ "modify" となる。

changetype が "modify" であって、"add:", "replace:", "delete:" 行の どれも現れなければ、デフォルトは ldapmodify (1) では "replace"、 ldapadd (1) では "add" となる。

slapd.replog (5) フォーマットに対する上記の例外は、 ldapmodify あるいは ldapadd への入力として使う ldif (5) エントリに適用することに注意。

使用例

ファイル /tmp/entrymods があり、その内容は次のようになっているものとする。

dn: cn=Modify Me,dc=example,dc=com 
changetype: modify 
replace: mail 
mail: modme@example.com 
- 
add: title 
title: Grand Poobah 
- 
add: jpegPhoto 
jpegPhoto:< file:///tmp/modme.jpeg 
- 
delete: description 
- 

このファイルについてのコマンドの実行例を次に示す。

ldapmodify -f /tmp/entrymods 

これにより、エントリ "Modify Me" の mail 属性の内容を値 "modme@example.com" で置換し、"Grand Poobah" の title を追加して、ファイル "/tmp/modme.jpeg" の内容を jpegPhoto として追加して、 description 属性を完全に除去する。

ファイル /tmp/newentry があり、その内容は次のようになっているものとする。

dn: cn=Barbara Jensen,dc=example,dc=com 
objectClass: person 
cn: Barbara Jensen 
cn: Babs Jensen 
sn: Jensen 
title: the world's most famous mythical manager 
mail: bjensen@example.com 
uid: bjensen 

このファイルについてのコマンドの実行例を次に示す。

ldapadd -f /tmp/newentry 

これは、ファイル /tmp/newentry にある値を用いて Babs Jensen のための新しいエントリを追加する。

ファイル /tmp/entrymods があり、その内容は次のようになっているものとする。

dn: cn=Barbara Jensen,dc=example,dc=com 
changetype: delete 

このファイルについてのコマンドの実行例を次に示す。

ldapmodify -f /tmp/entrymods 

これは、Babs Jensen のエントリを除去する。

診断

エラーが起きなければ終了ステータスは 0 となる。 エラーが起きれば 0 でない終了ステータスが返り、 標準エラーに診断メッセージを書き出す。

関連項目

ldapadd (1), ldapdelete (1), ldapmodrdn (1), ldapsearch (1), ldap.conf (5), ldap (3), ldap_add (3), ldap_delete (3), ldap_modify (3), ldap_modrdn (3), ldif (5), slapd.replog (5)

作者

The OpenLDAP Project <http://www.openldap.org/>

謝辞

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

和訳

稲地 稔 inachi@ldap-jp.org

 
2007 © LDAP Japn User Group, All Rights Reserved.  <お問い合わせ: staff @ ldap.jp>
R
ecent changes RSS feed