LDAPSEARCH(1) User Commands LDAPSEARCH(1)
NAME
ldapsearch - ldap search tool
SYNOPSIS
ldapsearch [
-n] [
-u] [
-v] [
-t] [
-A] [
-B] [
-L] [
-R] [
-H]
[
-?] [
-t] [
-T] [
-B] [
-E] [
-J] [
-e] [
-l] [
-Z] [
-r]
[
-M] [
-d debuglevel] [
-F sep] [
-f file] [
-D bindDN]
[
-j filename] [
-V version] [
-Y proxyDN] [
-O hopLimit]
[
-i locale] [
-k path] [
-S [
-]
attribute] [
-C pattern]
[
-c authzid] [
-P path] [
-N certificate] [
-w passwd]
[
-h ldaphost] [
-p ldapport] [
-o attributename=
value]
[
-b searchbase] [
-s scope] [
-a deref] [
-l timelimit]
[
-z sizelimit]
filter [
attrs]...
DESCRIPTION
The
ldapsearch utility opens a connection to an LDAP server, binds,
and performs a search using the filter
filter.
If
ldapsearch finds one or more entries, the attributes specified by
attrs are retrieved and the entries and values are printed to
standard output. If no
attrs are listed, all attributes are returned.
Output Format
If one or more entries are found, each entry is written to standard
output in the form:
dn: Distinguished Name (DN)
attributename: value
attributename: value
attributename: value
...
Multiple entries are separated with a single blank line. If the
-F option is used to specify a different separator character, this
character is used instead of the
: character. If the
-t option is
used, the name of a temporary file is returned in place of the actual
value. If the
-A option is given, only the "attributename" is
returned and not the attribute value.
OPTIONS
The following options are supported:
-A Retrieve attributes only (no values). This is useful when you
just want to see whether an attribute is present in an entry and
are not interested in the specific value.
-a deref Specify how aliases dereferencing is done. The possible values
for
deref are
never,
always,
search, or
find to specify
respectively that aliases are never dereferenced, always
dereferenced, dereferenced when searching, or dereferenced only
when finding the base object for the search. The default is to
never dereference aliases.
-B Display non-ASCII values and use the old non-LDIF format. This
option disables the default
-L option.
-b searchbase Use
searchbase as the starting point for the search instead of
the default.
-C pattern Persistent search. Perform a search that keeps the connection
open and displays results whenever entries matching the scope and
filter of the search are added, modified, or removed. With this
option, the
ldapsearch tool runs indefinitely; you must type
Control-c to stop it. The pattern has the following format:
ps:changeType[:changesOnly[:entryChangeControls]]
-c authzid Specifies the
getEffectiveRights control
authzid. For example:
dn:uid=bjensen,dc=example,dc=com
-D bindDN Use the distinguished name
bindDN to bind to the directory.
-d debuglevel Set the
LDAP debugging level. Useful levels of debugging for
ldapsearch are:
1 Trace
2 Packets
4 Arguments
32 Filters
128 Access control
To request more than one category of debugging information, add
the masks. For example, to request trace and filter information,
specify a debuglevel of 33.
-E Ask server to expose (report) bind identity by means of
authentication response control.
-e Minimize base-64 encoding of values.
-F sep Use
sep as the field separator between attribute names and
values. If this option has been specified, the
-L option is
ignored.
-f file Read a series of lines from
file, performing one
LDAP search for
each line. In this case, the
filter given on the command line is
treated as a pattern where the first occurrence of
%s is replaced
with a line from
file. If
file is a single
- character, then the
lines are read from standard input.
-G pattern Virtual list view. Retrieve only a portion of all results, as
determined by the index or value of the search target and the
number of entries to be returned before and after the target.
This option always requires the
-S and
-x options to specify the
sorting order on the server.
-? Display the usage help text that briefly describes all options.
-H Display the usage help text that briefly describes all options.
-h ldaphost Specify an alternate host on which the secure LDAP server is
running.
-i locale Specify the character set to use for command-line input. The
default is the character set specified in the
LANG environment
variable. You might want to use this option to perform the
conversion from the specified character set to UTF8, thus
overriding the
LANG setting. Using this argument, you can input
the bind DN, base DN, and the search filter pattern in the
specified character set. The
ldapsearch tool converts the input
from these arguments before it processes the search request. For
example,
-i no indicates that the bind DN, base DN, and search
filter are provided in Norwegian. This argument only affects the
command-line input. If you specify a file containing a search
filter (with the
-f option),
ldapsearch does not convert the data
in the file.
-j filename Specify a file containing the password for the bind DN or the
password for the SSL client's key database. To protect the
password, use this option in scripts and place the password in a
secure file. This option is mutually exclusive of the
-w and
-W options.
-J [:
criticality[:
value|::
b64value|
b64value|:
fileurl]]
Criticality is a boolean value (default is
false).
-k path Specify the path to a directory containing conversion routines.
These routines are used if you want to specify a locale that is
not supported by default by your directory server. This is for
NLS support.
-L Display search results in LDIF format. This option also turns on
the
-B option. This behavior is the default.
-l timelimit Wait at most
timelimit seconds for a search to complete.
-M Manage smart referrals. When they are the target of the
operation, search the entry containing the referral instead of
the entry obtained by following the referral.
-N certificate Specify the certificate name to use for certificate-based client
authentication. For example:
-N "Directory-Cert".
-n Show what would be done, but do not actually perform the search.
Useful in conjunction with
-v and
-d for debugging.
-O hopLimit Specify the maximum number of referral hops to follow while
finding an entry to modify. By default, there is no limit.
-o attributename=
value For SASL mechanisms and other options such as security
properties, mode of operation, authorization ID, authentication
ID, and so forth.
The different attribute names and their values are as follows:
secProp=
"number" For defining SASL security properties.
realm=
"value" Specifies SASL realm (default is
realm=none).
authzid=
"value" Specify the authorization ID name for SASL
bind.
authid=
"value" Specify the authentication ID for SASL bind.
mech=
"value" Specifies the various SASL mechanisms.
-P path Specify the path and filename of the client's certificate
database. For example:
-P /home/uid/.netscape/cert7.db
When using the command on the same host as the directory server,
you can use the server's own certificate database. For example:
-P
installDir/lapd-serverID/alias/cert7.db
Use the
-P option alone to specify server authentication only.
-p ldapport Specify an alternate TCP port where the secure LAPD server is
listening.
-R Do not automatically follow referrals returned while searching.
-r Display the output of the
ldapsearch command in the old format.
-S [-]
attribute Specify an attribute for sorting the entries returned by the
search. The sort criteria is alphabetical on the attribute's
value or reverse alphabetical with the form
-attribute. You can
give multiple
-S options to refine the sorting, For example:
-S sn -S
givenname By default, the entries are not sorted. Use the
-x option to
perform server-side sorting.
-s scope Specify the scope of the search. The possible values of
scope are
base,
one, or
sub to specify respectively a base object, one-
level, or subtree search. The default is
sub.
-T Format the output of search results so that no line breaks are
used within individual attribute values.
-t Write retrieved values to a set of temporary files. This is
useful for dealing with non-ASCII values such as jpegPhoto or
audio.
-U URL format (valid only with the
-t option). When using temporary
file output, the standard output of the tool includes the URL of
the file instead of the attributes value. For example:
jpegPhoto:< file:/tmp/ldapsearch-jpegPhoto-YzaOMh
-u Include the user-friendly form of the Distinguished Name (DN) in
the output.
-V version Specify the LDAP protocol version number to be used for the
delete operation, either 2 or 3. LDAP v3 is the default. Specify
LDAP v2 when connecting to servers that do not support v3.
-v Run in verbose mode, with diagnostics written to standard output.
-W password Specify the password for the client's key database given in the
-P option. This option is required for certificate-based client
authentication. Specifying
password on the command line has
security issues because the password can be seen by others on the
system by means of the
ps command. Use the
-j instead to specify
the password from the file. This option is mutually exclusive of
-j.
-w passwd Use
passwd as the password for authentication to the directory.
When you use
-w passwd to specify the password to be used for
authentication, the password is visible to other users of the
system by means of the
ps command, in script files or in shell
history. If you use the
ldapsearch command without this option,
the command prompts for the password and read it from standard
in. When used without the
-w option, the password is not visible
to other users.
-x Use with the
-S option to specify that search results be sorted
on the server rather than by the
ldapsearch command running on
the client. This is useful if you want to sort according to a
matching rule, as with an international search. It is usually
faster to sort on the server, if that is supported, rather than
on the client.
-Y proxyDN Specify the proxy DN (proxied authorization id) to use for the
modify operation, usually in double quotes (" ") for the shell.
-Z Specify that SSL be used to provide certificate-based client
authentication. This option requires the
-N and SSL password and
any other of the SSL options needed to identify the certificate
and the key database.
-z sizelimit Retrieve at most
sizelimit entries for a search to complete.
EXAMPLES
Example 1: Performing a Subtree Search
The following command performs a subtree search (using the default
search base) for entries with a commonName of "mark smith". The
commonName and telephoneNumber values is retrieved and printed to
standard output. Use the
-r option to display this output in the old
format.
example% ldapsearch "cn=mark smith" cn telephoneNumber
The output looks something like this:
dn: Mark D Smith, ou=Sales, ou=Atlanta, ou=People, o=XYZ, c=US
cn: Mark Smith
cn: Mark David Smith
cn: Mark D Smith 1
cn: Mark D Smith
telephoneNumber: +1 123 456-7890
dn: Mark C Smith, ou=Distribution, ou=Atlanta, ou=People, o=XYZ, c=US
cn: Mark Smith
cn: Mark C Smith 1
cn: Mark C Smith
telephoneNumber: +1 123 456-9999
Example 2: Performing a Subtree Search Using the Default Search Base
The following command performs a subtree search using the
-r option
to display in old style format with a default search base for entries
with user id of
mcs. The user-friendly form of the entry's DN is
output after the line that contains the DN itself, and the
jpegPhoto and
audio values are retrieved and written to temporary files.
ldapsearch -r -u -t "uid=mcs" -r jpegPhoto audio
The output might look like this if one entry with one value for each
of the requested attributes is found:
cn=Mark C Smith, ou=Distribution, ou=Atlanta, ou=People, o=XYZ, c=US
Mark C Smith, Distribution, Atlanta, People, XYZ, US
audio=/tmp/ldapsearch-audio-a19924
jpegPhoto=/tmp/ldapsearch-jpegPhoto-a19924
Example 3: Performing a One-Level Search
The following command performs a one-level search at the c=US level
for all organizations whose organizationName begins with XY.
example% ldapsearch -s one -b "c=US" "o=XY*" o description
The
organizationName and
description attribute values are retrieved
and printed to standard output, resulting in output similar to this:
dn: o=XYZ c=US
o: XYZ
description: XYZ Corporation
dn: o="XY Trading Company", c=US
o: XY Trading Company
description: Import and export specialists
dn: o=XYInternational, c=US
o: XYInternational
o: XYI
o: XY International
Example 4: Performing a Subtree Search on an IPv6 Server
The following command performs a subtree search using the default
search base for entries with a user id of
mcs on an IPv6 (that is,
-h) server:
example% ldapsearch -u -h '['fec0::111:a00:20ff:fea3:edcf']' \
-t "uid=mcs" jpegPhoto audio
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred. A diagnostic message is written to standard
error.
ATTRIBUTES
See
attributes(7) for a description of the following attributes:
+----------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Stability Level | Evolving |
+----------------+-----------------+
SEE ALSO
ldapadd(1),
ldapdelete(1),
ldapmodify(1),
ldapmodrdn(1),
attributes(7) January 6, 2006 LDAPSEARCH(1)