LDAPMODIFY

Section: User Commands (1)
Updated: 2005/01/24
Index Return to Main Contents
 

名前

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

書式

ldapmodify [-a] [-c] [-S file] [-n] [-v] [-k] [-K] [-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] [-k] [-K] [-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
冗長モードになります。標準出力に多くの診断情報を書き出します。
-k
簡易認証の代わりに Kerberos IV 認証を使います。このオプションは、 有効な許可チケットを既に持っていることを仮定します。このオプションが 効果を持つためには、Kerberos のサポート付きでコンパイルしておか なければなりません。
-K
オプション -k と同じく Kerberos IV 認証を使いますが、Kerberos IV バインドの ステップ1のみを行います。このオプションは、slapd に接続する際に x500dsa.hostname プリンシパルが kerberos ドメインコントローラに 登録されていない場合に有用です。
-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 を指定します。
-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 オプションを与えていなければ標準入力)の 内容は、以下に述べる例外を除いて slapd.replog(5) に定義されたフォーマットに従います。

"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), slapd.replog(5)  

作者

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

謝辞

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

和訳

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


 

Index

名前
書式
説明
オプション
入力フォーマット
使用例
診断
関連項目
作者
謝辞
和訳