LDAPSEARCH

Section: User Commands (1)
Updated: 2004-01-22
Index
 

名前

ldapsearch - LDAP 検索ツール  

書式

ldapsearch [-n] [-u] [-v] [-k] [-K] [-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
冗長モードで実行します。標準出力に多くの診断情報を書き出します。
-k
簡易認証の代わりに Kerberos IV 認証を使います。このオプションは、 有効な許可チケットを既に持っていることを仮定します。 このオプションが 効果を持つためには、Kerberos のサポート付きで ldapsearch をコンパイルしておかなければなりません。
-K
オプション -k と同じく Kerberos IV 認証を使いますが、kerberos IV バインドの ステップ1のみを行います。このオプションは、slapd に接続する際に x500dsa.hostname プリンシパルが kerberos ドメインコントローラに 登録されていない場合に有用です。
-t
取り出された値を1セットの一時ファイルに書き出します。これは、 jpegPhoto あるいは audio のような非ASCII値を扱うのに有用です。
-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 を指定します。
-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 (ゼロ)を指定すると、 ldap.conf に設定されている時間制限が取り除かれます。 このサーバが強制する最大時間制限は、ルートユーザだけが上書きできます。
-z sizelimit
検索で最大 sizelimit エントリを取り出せることを指定します。 この最大エントリ数に 0 (ゼロ)を指定すると、 ldap.conf に設定されているエントリ数制限が取り除かれます。 このサーバが強制する最大エントリ数制限は、ルートユーザだけが上書きできます。
-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

in これは、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

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