LDAPSEARCH

Section: User Commands (1)
Updated: 2005/11/18
Index Return to Main Contents
 

名前

ldapsearch - LDAP 検索ツール  

書式

ldapsearch [-n] [-u] [-v] [-t] [-A] [-L[L[L]]] [-M[M]] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost] [-p ldapport] [-P 2|3] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] [-O security-properties] [-I] [-Q] [-U authcid] [-R realm] [-x] [-X authzid] [-Y mech] [-Z[Z]] filter [attrs...]  

説明

ldapsearch は、 ldap_search(3) ライブラリ関数に対応するコマンドラインインタフェースです。

ldapsearch は LDAP サーバへに対してコネクションを張り、バインドした後、 指定したパラメータを用いて検索します。パラメータ filter は、 RFC 2254 に定義されている検索フィルタの文字列表現に従わねばなりません。 このフィルタを与えなければ、デフォルトのフィルタ (objectClass=*) が使われます。

ldapsearch が1個以上のエントリを見つけると、attrs に指定した属性を返します。 attrs に * があれば、すべてのユーザ属性を返します。 attrs に + があれば、すべての運用属性を返します。 attrs を指定しなければ、すべてのユーザ属性を返します。 attrs に 1.1 だけを指定すると、どの属性も返しません。  

オプション

-n
何が行われるのかを示しますが、実際に検索を行いません。 デバッグを目的に -v とともに使います。
-u
識別名(DN)のユーザフレンドリ名形式を出力に含めます。
-v
冗長モードで実行します。標準出力に多くの診断情報を書き出します。
-t
取り出された印字できない値を1セットの一時ファイルに書き出します。これは、 jpegPhoto あるいは audio のような文字でないデータを扱うのに有用です。
-A
属性名だけを取り出します(値は取り出しません)。これは、ある属性がエントリに 与えられているかを知りたいが、具体的な値に関心のない場合に有用です。
-L
検索結果が LDAP データ交換フォーマット(LDAP Data Interchange Format: LDIF) で表示されます(LDIF については ldif(5) を参照)。 単一の -L を指定すると出力を LDIFv1 に限定します。 2個の -L を指定するとコメントを出力しません。 3個の -L を指定すると LDIF バージョンを出力しません。 デフォルトでは LDIF の拡張バージョンを使います。
-M[M]
ManageDsaIT 制御を有効にします(referral エントリを通常の エントリと同様に扱います)。 -MM の指定は、サーバで ManageDsaIT 制御を利用できない場合に、 操作を実行しないようにします。
-S attribute
返されたエントリを属性 attribute の値を基にしてソートします。 デフォルトでは、返されたエントリはソートされません。 属性 attribute が長さ0の文字列("")である場合、識別名の構成要素を 使ってソートします。より詳しくは ldap_sort(3) を参照してください。通常 ldapsearch は、取り出した順に印字していくことに注意してください。オプション -S を指定すると、この振舞に反してすべてのエントリを取り出して ソートを行った後に印字します。
-d debuglevel
LDAP のデバッグレベルを debuglevel に設定します。 このオプションが効果を持つためには、 ldapsearch をマクロ LDAP_DEBUG 付きでコンパイルしておかなければなりません。
-f file
ファイル file から一連の行を読み込み、各行について1つの LDAP 検索を 行います。この場合、コマンドラインに与えたフィルタ条件 filter は、 その中に最初に現れる %s をファイル file の各行で置換した パターンとして扱われます。ファイルの指定 file が1文字の - で あった場合、行は標準入力から読み込まれます。
-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 を使ってください。
-b searchbase
検索の開始位置をデフォルトの代わりに searchbase とします。
-s base|one|sub
検索スコープに base, one, sub のいずれかを指定します。 base はベースオブジェクト検索、 one は1レベル検索、 sub はサブツリー検索を意味します。 デフォルトは sub です。
-a never|always|search|find
エイリアスの実名参照をどのように行うかを指定します。このオプションには never, always, search, find のいずれかを指定し、それぞれ、エイリアスを実名参照しない、 常に実名参照する、検索で実名参照する、検索のためのベースオブジェクトを 探すときのみ実名参照する、ということを意味します。 デフォルトではエイリアスを別名参照しません。
-P 2|3
利用する LDAP プロトコルのバージョンを指定します。
-l timelimit
検索の完了に最大 timelimit 秒を費やせることを指定します。 この時間制限に 0 (ゼロ)または none は無制限を意味します。指定できる時間制限の最大値は、 プロトコルによって許される最大の整数値となります。 このサーバが強制する最大時間制限は、ルートユーザだけが上書きできます。
-z sizelimit
検索で最大 sizelimit エントリを取り出せることを指定します。 この最大エントリ数に 0 (ゼロ)または none は無制限を意味します。指定できる時間制限の最大値は、 プロトコルによって許される最大の整数値となります。 このサーバが強制する最大エントリ数制限は、ルートユーザだけが上書きできます。
-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が指定されたならば、コマンドはこの操作の成功を要求します。
 

出力フォーマット

エントリが1個以上見つかると、各エントリが次のように LDAP データ交換フォーマット ldif(5) で標準出力に書き出されます。

    version: 1

    # bjensen, example, net
    dn: uid=bjensen,dc=example,dc=net
    objectClass: person
    objectClass: dcObject
    uid: bjensen
    cn: Barbara Jensen
    sn: Jensen
    ...

オプション -t を指定すると、実際の値の場所に一時ファイルの URI が使われます。オプション -A が指定されると "属性名" の部分だけが 書き出されます。  

使用例

次のコマンドを実行します。

    ldapsearch -LLL "(sn=smith)" cn sn telephoneNumber

これは、surname (sn) が "smith" であるエントリについてサブツリー検索を( ldap.conf(5) に定義されているデフォルトの検索ベースや他のパラメータを用いて)行います。 属性 commonName, surname (sn), telephoneNumber の値が取り出され、 標準出力に印字します。二つのエントリが見つかったとすると、 出力は次のようなものになります。

    dn: uid=jts,dc=example,dc=com
    cn: John Smith
    cn: John T. Smith
    sn: Smith
    sn;lang-en: Smith
    sn;lang-de: Schmidt
    telephoneNumber: 1 555 123-4567

    dn: uid=sss,dc=example,dc=com
    cn: Steve Smith
    cn: Steve S. Smith
    sn: Smith
    sn;lang-en: Smith
    sn;lang-de: Schmidt
    telephoneNumber: 1 555 765-4321

次のコマンドを実行します。

    ldapsearch -LLL -u -t "(uid=xyz)" jpegPhoto audio

これはユーザIDが "xyz" であるエントリについてサブツリー検索を デフォルトの検索ベースを用いて行います。エントリの DN のユーザフレンドリ 形式が、DN 自体を含んだ行の後に出力され、jpegPhoto と audio の値が取り出さ れた後に一時ファイルに書き出されます。要求した属性のそれぞれについて、 一つの値を持つエントリが一つ見つかったとすると、 出力は次のようなものになります。

    dn: uid=xyz,dc=example,dc=com
    ufn: xyz, example, com
    audio:< file:///tmp/ldapsearch-audio-a19924
    jpegPhoto:< file:///tmp/ldapsearch-jpegPhoto-a19924

次のコマンドを実行します。

    ldapsearch -LLL -s one -b "c=US" "(o=University*)" o description

これは、organizationName が University で始まるすべての組織について、 c=US レベルで1レベル検索を行います。属性 organizationName と description の値が取り出され、標準出力に印字します。出力は次のようなものになります。

    dn: o=University of Alaska Fairbanks,c=US
    o: University of Alaska Fairbanks
    description: Preparing Alaska for a brave new yesterday
    description: leaf node only

    dn: o=University of Colorado at Boulder,c=US
    o: University of Colorado at Boulder
    description: No personnel information
    description: Institution of education and research

    dn: o=University of Colorado at Denver,c=US
    o: University of Colorado at Denver
    o: UCD
    o: CU/Denver
    o: CU-Denver
    description: Institute for Higher Learning and Research

    dn: o=University of Florida,c=US
    o: University of Florida
    o: UFl
    description: Warper of young minds

    ...
 

診断

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

関連項目

ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldap.conf(5), ldif(5), ldap(3), ldap_search(3)  

作者

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

謝辞

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

和訳

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


 

Index

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