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