ldapmodify および ldapadd

LDAP modify-entry および LDAP add-entry コマンド行ユーティリティー

概要

ldapmodify [-a] [-b] [-c] [-B] [-c] [-C charset] [-d debuglevel][-D binddn] [-e errorfile]
 [-f file][-F][-g][-G realm] [-h ldaphost] [-i file] [-j] [-k] [-K keyfile]
[-m mechanism] [-M][-n][-N certificatename] [-O maxhops] [-p ldapport]
[-P keyfilepw] [-r] [-R] [-t] [-U username] [-v] [-V] [-w passwd | ?] [-y proxydn]
[-Y] [-Z]


ldapadd [-a] [-b] [-c]  [-B] [-c] [-C charset] [-d debuglevel] [-D binddn] [-e errorfile]
[-g] [-f file][-F][-g][-G realm] [-h ldaphost] [-i file] [-j] [-k] [-K keyfile]
[-m mechanism] [-M][-n][-N certificatename] [-O maxhops] [-p ldapport]
[-P keyfilepw] [-r] [-R] [-t] [-U username] [-v] [-V] [-w passwd | ?] [-y proxydn]
[-Y] [-Z] 

説明

ldapmodify は、ldap_modify、ldap_add、ldap_delete、および ldap_rename アプリケーション・プログラミング・インターフェース (API) へのコマンド行インターフェースです。 ldapadd は ldapmodify のリネームされたバージョンとしてインプリメントされています。 ldapadd として呼び出されると、-a (新規の項目追加) フラグが自動的に立てられます。

ldapmodify は LDAP サーバーへの接続を開き、 サーバーにバインドします。ldapmodify を使用して 入力を変更または追加することができます。入力情報は、標準入力または ファイルから、-i オプションの使用を通して読み取られます。

ldapmodify または ldapadd の構文ヘルプを表示するには、以下を 入力します。

ldapmodify -?

または

ldapadd -?

オプション

-a
項目の新規追加。ldapmodify のデフォルトのアクションは、現存の項目の変更です。ldapadd として呼び出されると、このフラグが常に立てられます。
-b
'/' で始まるすべての値はバイナリー値であり、また実際の値は、値の代わりにパスが指定されているファイルに入っていると見なされます。
-B
トランザクションをロールバックすることを指定します。
-c
連続操作モード。 エラーは報告されますが、ldapmodify は変更処理を続行します。 そうでなければ、デフォルトのアクションでは、エラーの報告後に終了します。
-C charset
ldapmodify および ldapadd ユーティリティーへの 入力として提供されたストリングを、charset で指定されるローカル文字セットで表されるようにし、 UTF-8 に変換されるよう指定します。入力ストリングのコード・ページがジョブのコード・ページ値と異なる場合には、 -C charset オプションを使用します。 サポートされている charset 値について調べるには、 ldap_set_iconv_local_charset() API を参照してください。
-d debuglevel
LDAP デバッグ・レベルを debuglevel にセットします。
-D binddn
binddn を使用して LDAP ディレクトリーにバインドします。 binddn は、ストリング表記の DN です。 -m DIGEST-MD5 で使用する場合は、権限 ID を指定するために使用します。これは DN とする こともできるし、あるいは「u:」または「dn:」で始まる authzId ストリングとすることもできます。
-e errorfile
リジェクトされた項目の書き込み先のファイルを指定します。 このオプションには、-c 連続操作オプションが必要です。 項目の処理が失敗した場合、その項目はリジェクト・ファイルに書き込まれ、リジェクトされた項目のカウントが増やされます。 ldapmodify または ldapadd コマンドへの入力がファイルからのものである場合、そのファイルが処理されるときに、リジェクト・ファイルに書き込まれた項目の合計数が示されます。
-f file
標準入力からではなく、LDIF ファイルから項目の変更情報を読み取ります。LDIF ファイルを指定しない場合には、 標準入力を使用して、LDIF 形式で更新レコードを指定する必要があります。 -i または -f オプションを使用して、入力ファイルを指定することができます。動作は同じです。
-F
replica: で開始する入力行の内容と関係なく、アプリケーションにすべての変更を強制 します (デフォルトによって、replica: 行が使用中の LDAP サーバー・ホストおよびポートと比較 されて、複製ログ・レコードを実際に適用する必要があるかどうかが判別されます)。
-g
属性値の末尾スペースを除去しません。
–G
レルムを指定します。このパラメーターはオプションです。-m DIGEST-MD5 と一緒に使用する と、その値はバインド中にサーバーに渡されます。
-h ldaphost
LDAP サーバーを実行する代替ホストを指定します。
-i file
標準入力からではなく、LDIF ファイルから項目の変更情報を読み取ります。LDIF ファイルを指定しない場合には、 標準入力を使用して、LDIF 形式で更新レコードを指定する必要があります。 -i または -f オプションを使用して、入力ファイルを指定することができます。動作は同じです。
-j
prepare を送信しないことを指定します。
-k
サーバー管理制御の使用を指定します。
-K keyfile
kdb のデフォルト拡張子のある SSL キー・データベース・ ファイルの名前を指定します。キー・データベース・ファイルが現行ディレクトリーにない場合は、 完全修飾キー・データベース・ファイル名を指定してください。キー・データベース・ファイル名 が指定されていない場合、このユーティリティーはまず関連したファイル名の SSL_KEYRING 環境変数 の存在を探します。SSL_KEYRING 環境変数が定義されていない場合、 あればシステム鍵リング・ファイルが使用されます。

このパラメーターを使用すると、-Z スイッチを使用できるようになります。 IBM® i 上のディレクトリー・サーバー では、-Z を使用して -K または -N を使用しない場合、ディレクトリー・サービス・クライアント・アプリケーション ID に 関連した証明が使用されます。

-l
変更を複製しません。 「Do Not Replicate (複製しない)」制御は、ある特定の変更を複製しないことを要求するときに使用します。 これは、複製トポロジーで使用するための制御です。つまり、他のサーバーに変更が加えられる原因とならないように、複製トポロジーを同期させるための変更をターゲット・サーバーが複製しないようにします。 また、管理クライアントがこの制御を使用することもできます。
-m mechanism
mechanism を使用して、 サーバーへのバインドに使用する SASL メカニズムを指定します。 ldap_sasl_bind_s() API が使用されます。-V 2 をセットすると、 -m パラメーターは無視されます。-m を指定しない場合、 単純認証が使用されます。 以下が有効はメカニズムです。
  • CRAM-MD5 - サーバーに送信されるパスワードを保護する。
  • EXTERNAL - SSL 認証を使用する。-Z が必要。
  • GSSAPI - ユーザーの Kerberos 信任状を使用する。
  • DIGEST-MD5 - クライアントは username 値をサーバーに送信する必要が あります。-U が必要。権限 ID を指定するには、-D パラメーター (通常、バインド DN) が 使用されます。これは DN とすることもできるし、あるいは「u:」または「dn:」で 始まる authzId ストリングとすることもできます。
  • OS400_PRFTKN - システム・プロジェクト・バックエンド中のユーザーの DN を 使用して、ローカル LDAP サーバーに対して現行 IBM i ユーザーとして認証 します。-D (バインド DN) および -w (パスワード) パラメーターは指定しないでください。
-M
参照オブジェクトを普通の項目として管理します。
-n
ノーオペレーション・オプションを指定します。それにより、ディレクトリーに対するアクションを実際に実行する前に、発行しようとしているコマンドの結果をプレビューすることができます。 加えた変更は、その前に感嘆符を付けられて、標準出力に出力されます。 ディレクトリーの変更を実行する関数の呼び出しの前に、入力ファイルの処理で見つかった構文エラーはすべて、標準エラーとして表示されます。 このオプションにデバッグ操作用の -v オプションを指定すると、エラーの検出時に特に便利です。
-N certificatename
キー・データベース・ファイル内のクライアント証明書に関連したラベルを指定します。 LDAP サーバーがサーバー認証だけを実行するように構成されている場合は、 クライアント証明書は不要です。 LDAP サーバーがクライアントおよびサーバーの認証を実行するように構成されている場合は、 クライアント証明書が必要です。 証明書/秘密鍵のペアがキー・データベース・ファイルのデフォルトとして指定されている場合は、 certificatename は不要です。 同様に、 指定したキー・データベース・ファイル内に証明書/秘密鍵のペアが 1 つある場合も、 certificatename は不要です。-Z-K をどちらも指定していない場合は、 このパラメーターは無視されます。 IBM i 上のディレクトリー・サーバー では、-Z を使用して -K または -N を使用しない場合、ディレクトリー・サービス・クライアント・アプリケーション ID に 関連した証明が使用されます。
-O maxhops
参照を追跡する際にクライアント・ライブラリーが取るホップの最大数を設定 するよう maxhops を指定します。デフォルトのホップ・カウントは 10 です。
-p ldapport
LDAP サーバーが listen する代替 TCP ポートを指定します。 デフォルトの LDAP ポートは 389 です。 -p の指定がなく、-Z が指定されている場合は、 デフォルトの LDAP SSL ポート 636 が使用されます。
-P keyfilepw
キー・データベースのパスワードを指定します。このパスワードは、1 つ以上の秘密鍵を含む場合のある キー・データベース・ファイル内の暗号化された情報にアクセスするために必要です。パスワードの stash ファイルがキー・データベース・ファイルに関連付けられている場合、 パスワードはそのパスワード stash ファイルから取得されるので、-P パラメーターは必要ありません。-Z-K をどちらも指定していない場合は、 このパラメーターは無視されます。
-r
デフォルトの設定では、既存の値が置換されます。
-R
参照を自動的に行わないことを指定します。
-t
トランザクションで変更を実行します。
–U
ユーザー名を指定します。-m DIGEST-MD5 には必要ですが、その他のメカニズムでは無視されます。
-v
冗長モードを使用して、多くの診断結果を標準出力に書き込みます。
-V version
LDAP サーバーにバインドするときに、ldapmodify によって 使用されるよう、LDAP バージョンを指定します。デフォルトの設定では、LDAP V3 接続が確立されます。 明示的に LDAP V3 を選択する場合は -V 3 と指定し、LDAP V2 アプリケーションとして実行する場合は -V 2 と指定します。
-w passwd | ?
passwd を認証用のパスワードとして使用します。 ? を使用してパスワード・プロンプトを生成します。
-y proxydn
プロキシー権限オプションのプロキシー ID を設定します。
-Y
セキュア LDAP 接続 (TLS) を使用します。
-Z
セキュア SSL 接続を使用して LDAP サーバーと通信します。 IBM i 上のディレクトリー・サーバー では、-Z を使用して -K または -N を使用しない場合、ディレクトリー・サービス・クライアント・アプリケーション ID に 関連した証明が使用されます。

入力フォーマット

ファイルの内容 (あるいは、-i フラグがコマンド行で与えられていない場合には標準入力) は LDIF 形式に準拠する必要があります。

/tmp/entrymods というファイルがあり、 このファイルの内容は次のとおりです。

dn: cn=Modify Me, o=University of Higher Learning, c=US
changetype: modify
replace: mail
mail: modme@student.of.life.edu
-
add: title
title: Grand Poobah
-
add: jpegPhoto
jpegPhoto: /tmp/modme.jpeg
-
delete: description
-

次のコマンド:

ldapmodify -b -r -i /tmp/entrymods 

は、 Modify Me 入力のメール属性の内容を値 modme@student.of.life.edu で置き換え、 Grand Poobah のタイトルとファイル /tmp/modme.jpeg の内容を jpegPhoto として追加し、完全に記述属性を除去します。これらの同じ変更は、 以下の古い ldapmodify 入力形式:

cn=Modify Me, o=University of Higher Learning, c=US
mail=modme@student.of.life.edu
+title=Grand Poobah
+jpegPhoto=/tmp/modme.jpeg
-description

および、次のコマンドを使用して行うことができます。

ldapmodify -b -r -i /tmp/entrymods 

/tmp/newentry というファイルがあり、 このファイルの内容は次のとおりです。

dn: cn=John Doe, o=University of Higher Learning, c=US
objectClass: person
cn: John Doe
cn: Johnny
sn: Doe
title: the world's most famous mythical person
mail: johndoe@student.of.life.edu
uid: jdoe

次のコマンド:

ldapadd -i /tmp/entrymods

を実行すると、 ファイル /tmp/newentry からの値を使って、 John Doe のための新規項目が追加されます。

ファイルから -i オプションの使用によって、項目情報が提供されていない 場合、ldapmodify コマンドは、標準入力から項目が読み取られるまで待ちます。

診断

エラーがない場合は、戻り状況は 0 です。 エラーがあった場合は、ゼロ以外の戻り状況が発生し、標準エラーに診断メッセージが書き込まれます。