ldapcompare [ -n ] [ -v ] [ -z ] [ -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] ] DN < attr:value | attr::b64value >
ldapcompare は ldap_compare (3) ライブラリ関数に対応するコマンドラインインタフェースである。
ldapcompare は LDAP サーバに接続してバインドした後に、 指定したパラメータを用いて比較を行う。 パラメータ DN にはディレクトリ中の識別名を指定する。 パラメータ attr には定義されている属性を指定する。 属性の指定の直後に1個のコロンを置く場合には、 表明値 value を文字列で与える。 属性の指定の直後に2個のコロンを置く場合には、 表明値を base 64 エンコードして value に与える。 比較結果のコードは終了ステータスとして返る。 また -z オプションを指定しなければ標準出力に TRUE, FALSE, UNDEFINED のいずれかを出力する。
- -n
- 何が行われるのかを示すが、実際には比較しない。 デバッグを目的に -v とともに利用する。
- -v
- 冗長モードで実行する。標準出力に多くの診断情報を書き出す。
- -z
- 非表示モードで実行する。 比較結果は終了ステータスで判定する必要がある。 これはシェルスクリプトで利用する場合に有用である。
- -M[M]
- ManageDsaIT 制御を有効にする(referral エントリを通常のエントリと同様に扱う)。 -MM の指定は、サーバで ManageDsaIT 制御を利用できない場合に、 操作を実行しないようにする。
- -d debuglevel
- LDAP のデバッグレベルを debuglevel に設定する。 このオプションが効果を持つためには、 ldapcompare をマクロ LDAP_DEBUG 付きでコンパイルしておく必要がある。
- -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 が指定されたならば、コマンドはこの操作の成功を要求する。
次の2つのコマンドの指定は、どちらも同じ比較である。
ldapcompare "uid=babs,dc=example,dc=com" sn:Jensen
ldapcompare "uid=babs,dc=example,dc=com" sn::SmVuc2Vu
比較する値をコマンドラインに渡さなければならないことは制限であり、 セキュリティ的にも問題がある。 このコマンドは値をどこから読むかを(ファイル名や URL で)指定する機構をサポートすべきである。
ldap.conf (5), ldif (5), ldap (3), ldap_compare (3)