2000-05-13 09:43:35 +08:00
|
|
|
.TH LDAPSEARCH 1 "20 April 2000" "OpenLDAP LDVERSION"
|
1999-09-12 12:41:47 +08:00
|
|
|
.\" $OpenLDAP$
|
2000-05-13 10:47:56 +08:00
|
|
|
.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
|
1999-09-12 12:41:47 +08:00
|
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH NAME
|
1999-08-20 01:02:36 +08:00
|
|
|
ldapsearch \- LDAP search tool
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.B ldapsearch
|
1998-12-06 12:09:55 +08:00
|
|
|
[\c
|
|
|
|
.BR \-n ]
|
|
|
|
[\c
|
|
|
|
.BR \-u ]
|
|
|
|
[\c
|
|
|
|
.BR \-v ]
|
|
|
|
[\c
|
|
|
|
.BR \-k ]
|
|
|
|
[\c
|
|
|
|
.BR \-K ]
|
|
|
|
[\c
|
|
|
|
.BR \-t ]
|
|
|
|
[\c
|
|
|
|
.BR \-A ]
|
|
|
|
[\c
|
|
|
|
.BR \-B ]
|
|
|
|
[\c
|
|
|
|
.BR \-L ]
|
|
|
|
[\c
|
1999-07-16 10:45:46 +08:00
|
|
|
.BR \-M[M] ]
|
|
|
|
[\c
|
1998-12-06 12:09:55 +08:00
|
|
|
.BR \-R ]
|
|
|
|
[\c
|
|
|
|
.BI \-d \ debuglevel\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-F \ sep\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-f \ file\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-D \ binddn\fR]
|
|
|
|
[\c
|
1998-12-12 13:56:46 +08:00
|
|
|
.BR \-W ]
|
|
|
|
[\c
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-w \ bindpasswd\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-h \ ldaphost\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-p \ ldapport\fR]
|
|
|
|
[\c
|
1998-12-27 22:08:46 +08:00
|
|
|
.BI \-P \ 2\fR\||\|\fI3\fR]
|
|
|
|
[\c
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-b \ searchbase\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-s \ base\fR\||\|\fIone\fR\||\|\fIsub\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-a \ never\fR\||\|\fIalways\fR\||\|\fIsearch\fR\||\|\fIfind\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-l \ timelimit\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-z \ sizelimit\fR]
|
2000-04-20 17:23:51 +08:00
|
|
|
[\c
|
|
|
|
.BR \-E[E] ]
|
|
|
|
[\c
|
|
|
|
.BR \-I[I] ]
|
|
|
|
[\c
|
|
|
|
.BI \-U \ username\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-X \ authzid\fR]
|
|
|
|
[\c
|
|
|
|
.BI \-Y \ mech\fR]
|
|
|
|
[\c
|
|
|
|
.BR \-Z[Z] ]
|
1998-12-06 12:09:55 +08:00
|
|
|
.I filter
|
|
|
|
[\c
|
|
|
|
.IR attrs... ]
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH DESCRIPTION
|
|
|
|
.I ldapsearch
|
|
|
|
is a shell-accessible interface to the
|
|
|
|
.BR ldap_search (3)
|
|
|
|
library call.
|
|
|
|
.LP
|
|
|
|
.B ldapsearch
|
|
|
|
opens a connection to an LDAP server, binds, and performs a search
|
|
|
|
using the filter \fIfilter\fP. The \fIfilter\fP should conform to
|
|
|
|
the string representation for LDAP filters as defined in RFC 1558.
|
|
|
|
.LP
|
|
|
|
If
|
|
|
|
.B ldapsearch
|
|
|
|
finds one or more entries, the attributes specified by
|
|
|
|
\fIattrs\fP are retrieved and the entries and values are printed to
|
|
|
|
standard output. If no \fIattrs\fP are listed, all attributes are
|
1999-07-26 04:40:21 +08:00
|
|
|
returned. If * is listed, all user attributes are returned.
|
|
|
|
If + is listed, all operational attributes are returned.
|
|
|
|
If only 1.1 is listed, no attributes are listed.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
|
|
|
.B \-n
|
|
|
|
Show what would be done, but don't actually perform the search. Useful for
|
|
|
|
debugging in conjunction with -v.
|
|
|
|
.TP
|
|
|
|
.B \-u
|
|
|
|
Include the User Friendly form of the Distinguished Name (DN) in the output
|
|
|
|
.TP
|
|
|
|
.B \-v
|
|
|
|
Run in verbose mode, with many diagnostics written to standard output
|
|
|
|
.TP
|
|
|
|
.B \-k
|
|
|
|
Use Kerberos authentication instead of simple authentication. It is
|
|
|
|
assumed that you already have a valid ticket granting ticket.
|
|
|
|
.B ldapsearch
|
|
|
|
must be compiled with KERBEROS defined for this option to have any effect.
|
|
|
|
.TP
|
|
|
|
.B \-K
|
|
|
|
Same as \-k, but only does step 1 of the kerberos bind. This is useful
|
|
|
|
when connecting to a slapd and there is no x500dsa.hostname principal
|
|
|
|
registered with your kerberos servers.
|
|
|
|
.TP
|
|
|
|
.B \-t
|
|
|
|
Write retrieved values to a set of temporary files. This is useful for
|
|
|
|
dealing with non-ASCII values such as jpegPhoto or audio.
|
|
|
|
.TP
|
|
|
|
.B \-A
|
|
|
|
Retrieve attributes only (no values). This is useful when you just want to
|
|
|
|
see if an attribute is present in an entry and are not interested in the
|
|
|
|
specific values.
|
|
|
|
.TP
|
|
|
|
.B \-B
|
|
|
|
Do not suppress display of non-ascii values. This is useful when
|
|
|
|
dealing with values that appear in alternate characters sets such as
|
|
|
|
ISO-8859.1. This option is implied by -L (see below).
|
|
|
|
.TP
|
|
|
|
.B \-L
|
|
|
|
Display search results in
|
|
|
|
.BR ldif (5)
|
|
|
|
format. This option also turns on the -B option, and causes the -F option
|
|
|
|
to be ignored.
|
|
|
|
.TP
|
1999-07-16 10:45:46 +08:00
|
|
|
.B \-M[M]
|
|
|
|
Enable manage DSA IT control.
|
|
|
|
.B \-MM
|
|
|
|
makes control critical.
|
|
|
|
.TP
|
1998-08-09 08:43:13 +08:00
|
|
|
.B \-R
|
|
|
|
Do not automatically follow referrals returned while searching.
|
|
|
|
.B ldapsearch
|
|
|
|
must be compiled with LDAP_REFERRALS defined for referrals to be
|
|
|
|
automatically followed by default, and for this option to have any effect.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-F \ sep
|
1998-08-09 08:43:13 +08:00
|
|
|
Use \fIsep\fP as the field separator between attribute names and values.
|
|
|
|
The default separator is `=', unless the -L flag has been specified, in
|
|
|
|
which case this option is ignored.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-S \ attribute
|
1998-08-09 08:43:13 +08:00
|
|
|
Sort the entries returned based on \fIattribute\fP. The default is not
|
|
|
|
to sort entries returned. If \fIattribute\fP is a zero-length string (""),
|
|
|
|
the entries are sorted by the components of their Distingished Name. See
|
|
|
|
.BR ldap_sort (3)
|
|
|
|
for more details. Note that
|
|
|
|
.B ldapsearch
|
|
|
|
normally prints out entries as it receives them. The use of the
|
|
|
|
.B \-S
|
|
|
|
option defeats this behavior, causing all entries to be retrieved,
|
|
|
|
then sorted, then printed.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-d \ debuglevel
|
1998-08-09 08:43:13 +08:00
|
|
|
Set the LDAP debugging level to \fIdebuglevel\fP.
|
|
|
|
.B ldapsearch
|
|
|
|
must be compiled with LDAP_DEBUG defined for this option to have any effect.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-f \ file
|
1998-08-09 08:43:13 +08:00
|
|
|
Read a series of lines from \fIfile\fP, performing one LDAP search for
|
|
|
|
each line. In this case, the \fIfilter\fP given on the command line
|
|
|
|
is treated as a pattern where the first occurrence of \fB%s\fP is
|
|
|
|
replaced with a line from \fIfile\fP. If \fIfile\fP is a single \fI-\fP
|
|
|
|
character, then the lines are read from standard input.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-D \ binddn
|
1998-11-11 07:37:30 +08:00
|
|
|
Use \fIbinddn\fP to bind to the LDAP directory. \fIbinddn\fP should be
|
1998-08-09 08:43:13 +08:00
|
|
|
a string-represented DN as defined in RFC 1779.
|
|
|
|
.TP
|
1998-12-12 13:56:46 +08:00
|
|
|
.B \-W
|
|
|
|
Prompt for simple authentication.
|
|
|
|
This is used instead of specifying the password on the command line.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-w \ bindpasswd
|
1998-08-09 08:43:13 +08:00
|
|
|
Use \fIbindpasswd\fP as the password for simple authentication.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-h \ ldaphost
|
1998-08-09 08:43:13 +08:00
|
|
|
Specify an alternate host on which the ldap server is running.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-p \ ldapport
|
1998-08-09 08:43:13 +08:00
|
|
|
Specify an alternate TCP port where the ldap server is listening.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-b \ searchbase
|
1998-08-09 08:43:13 +08:00
|
|
|
Use \fIsearchbase\fP as the starting point for the search instead of
|
|
|
|
the default.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-s \ base\fR\||\|\fIone\fR\||\|\fIsub
|
|
|
|
Specify the scope of the search to be one of
|
|
|
|
.IR base ,
|
|
|
|
.IR one ,
|
1998-08-09 08:43:13 +08:00
|
|
|
or
|
1998-12-06 12:09:55 +08:00
|
|
|
.I sub
|
1998-08-09 08:43:13 +08:00
|
|
|
to specify a base object, one-level, or subtree search. The default
|
|
|
|
is
|
1998-12-06 12:09:55 +08:00
|
|
|
.IR sub .
|
1998-08-09 08:43:13 +08:00
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-a \ never\fR\||\|\fIalways\fR\||\|\fIsearch\fR\||\|\fIfind
|
|
|
|
Specify how aliases dereferencing is done. Should be one of
|
|
|
|
.IR never ,
|
|
|
|
.IR always ,
|
|
|
|
.IR search ,
|
1998-08-09 08:43:13 +08:00
|
|
|
or
|
1998-12-06 12:09:55 +08:00
|
|
|
.I find
|
1998-08-09 08:43:13 +08:00
|
|
|
to specify that aliases are never dereferenced, always dereferenced,
|
|
|
|
dereferenced when searching, or dereferenced only when locating the
|
|
|
|
base object for the search. The default is to never dereference aliases.
|
|
|
|
.TP
|
1998-12-27 22:08:46 +08:00
|
|
|
.BI \-P \ 2\fR\||\|\fI3
|
|
|
|
Specify the LDAP protocol version to use.
|
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-l \ timelimit
|
1999-06-03 13:11:22 +08:00
|
|
|
wait at most \fItimelimit\fP seconds for a search to complete. A
|
|
|
|
timelimit of
|
|
|
|
.I 0
|
|
|
|
(zero) removes the
|
|
|
|
.B ldap.conf
|
|
|
|
limit.
|
1999-07-22 02:12:15 +08:00
|
|
|
A server may impose a maximal timelimit which only
|
|
|
|
the root user may override.
|
1998-08-09 08:43:13 +08:00
|
|
|
.TP
|
1998-12-06 12:09:55 +08:00
|
|
|
.BI \-z \ sizelimit
|
1999-06-03 13:11:22 +08:00
|
|
|
retrieve at most \fIsizelimit\fP entries for a search. A sizelimit
|
|
|
|
of
|
|
|
|
.I 0
|
|
|
|
(zero) removes the
|
|
|
|
.B ldap.conf
|
|
|
|
limit.
|
1999-07-22 02:12:15 +08:00
|
|
|
A server may impose a maximal sizelimit which only
|
|
|
|
the root user may override.
|
2000-04-20 17:23:51 +08:00
|
|
|
.TP
|
|
|
|
.B \-E[E]
|
|
|
|
Requset the use of SASL privacy (encryption). If the server allows it, data
|
|
|
|
sent between the client and the server will be encrypted. If the server
|
|
|
|
requires the use of encryption and this flag is not specified, the command
|
|
|
|
will fail. If you use
|
|
|
|
.B \-EE\c
|
|
|
|
, the command will fail if the server does not support encryption.
|
|
|
|
.B \-E[E]
|
|
|
|
implies
|
|
|
|
.B \-I[I]
|
|
|
|
.TP
|
|
|
|
.B \-I[I]
|
|
|
|
Request the use of SASL integrity checking. It protects data sent between the
|
|
|
|
client and the server from being modified along the way, but it does not
|
|
|
|
prevent sniffing. If the server requires the use of integrity checking and
|
|
|
|
this flag is not specified, the command will fail.If you use
|
|
|
|
.B \-II\c
|
|
|
|
, the command will fail if the server does not support this function.
|
|
|
|
.TP
|
|
|
|
.BI \-U \ username
|
|
|
|
Specify the username for SASL bind. The syntax of the username depends on the
|
|
|
|
actual SASL mechanism used.
|
|
|
|
.TP
|
|
|
|
.BI \-X \ authzid
|
|
|
|
Specify the requested authorization ID for SASL bind.
|
|
|
|
.I authzid
|
|
|
|
must be one of the following formats:
|
|
|
|
.B dn:\c
|
|
|
|
.I <distinguished name>
|
|
|
|
or
|
|
|
|
.B u:\c
|
|
|
|
.I <username>
|
|
|
|
.TP
|
|
|
|
.BI \-Y \ mech
|
|
|
|
Specify the SASL mechanism to be used for authentication. If it's not
|
|
|
|
specified, the program will choose the best mechanism the server knows.
|
|
|
|
.TP
|
|
|
|
.B \-Z[Z]
|
|
|
|
Request the use of TLS (Transport Layer Security). If you use
|
|
|
|
.B \-ZZ\c
|
|
|
|
, the command will fail if TLS negotiation does not succeed for some reason.
|
1998-08-09 08:43:13 +08:00
|
|
|
.SH OUTPUT FORMAT
|
|
|
|
If one or more entries are found, each entry is written to standard output
|
|
|
|
in the form:
|
|
|
|
.LP
|
|
|
|
.nf
|
|
|
|
Distinguished Name (DN)
|
|
|
|
User Friendly Name (this line present only if the -u option is used)
|
|
|
|
attributename=value
|
|
|
|
attributename=value
|
|
|
|
attributename=value
|
|
|
|
...
|
|
|
|
.fi
|
|
|
|
.LP
|
|
|
|
Multiple entries are separated with a single blank line. If the -F option
|
|
|
|
is used to specify a separator character, it will be used instead of the
|
|
|
|
`=' character. If the -t option is used, the name of a temporary file
|
|
|
|
is used in place of the actual value. If the -A option
|
|
|
|
is given, only the "attributename" part is written.
|
|
|
|
.SH EXAMPLE
|
|
|
|
The following command:
|
|
|
|
.LP
|
|
|
|
.nf
|
1999-08-20 01:02:36 +08:00
|
|
|
ldapsearch "(sn=smith)" cn sn telephoneNumber
|
1998-08-09 08:43:13 +08:00
|
|
|
.fi
|
|
|
|
.LP
|
1999-08-20 01:02:36 +08:00
|
|
|
will perform a subtree search (using the default search base) for
|
|
|
|
entries with a surname (sn) of smith. The common name (cn), surname
|
|
|
|
(sn) and telephoneNumber values will be retrieved and printed to
|
|
|
|
standard output.
|
1998-08-09 08:43:13 +08:00
|
|
|
The output might look something like this if two entries are found:
|
|
|
|
.LP
|
|
|
|
.nf
|
1999-08-20 01:02:36 +08:00
|
|
|
uid=jts, ou=Volunteers, ou=People, dc=OpenLDAP, dc=org
|
|
|
|
cn=John Smith
|
|
|
|
cn=John T. Smith
|
|
|
|
sn=Smith
|
|
|
|
telephoneNumber=+1 555 123-4567
|
1998-08-09 08:43:13 +08:00
|
|
|
|
1999-08-20 01:02:36 +08:00
|
|
|
uid=sss, ou=Staff, ou=People, dc=OpenLDAP, dc=org
|
|
|
|
cn=Steve Smith
|
|
|
|
cn=Steve S. Smith
|
|
|
|
sn=Smith
|
|
|
|
telephoneNumber=+1 555 765-4321
|
1998-08-09 08:43:13 +08:00
|
|
|
.fi
|
|
|
|
.LP
|
|
|
|
The command:
|
|
|
|
.LP
|
|
|
|
.nf
|
1999-08-20 01:02:36 +08:00
|
|
|
ldapsearch -u -t "uid=xyz" jpegPhoto audio
|
1998-08-09 08:43:13 +08:00
|
|
|
.fi
|
|
|
|
.LP
|
|
|
|
will perform a subtree search using the default search base for entries
|
1999-08-20 01:02:36 +08:00
|
|
|
with user id of "xyz". The user friendly form of the entry's DN will be
|
1998-08-09 08:43:13 +08:00
|
|
|
output after the line that contains the DN itself, and the jpegPhoto
|
|
|
|
and audio values will be retrieved and written to temporary files. The
|
|
|
|
output might look like this if one entry with one value for each of the
|
|
|
|
requested attributes is found:
|
|
|
|
.LP
|
|
|
|
.nf
|
1999-08-20 01:02:36 +08:00
|
|
|
uid=xyz, ou=Staff, ou=People, dc=OpenLDAP, dc=org
|
|
|
|
xyz, Staff, People, OpenLDAP, org
|
1998-08-09 08:43:13 +08:00
|
|
|
audio=/tmp/ldapsearch-audio-a19924
|
|
|
|
jpegPhoto=/tmp/ldapsearch-jpegPhoto-a19924
|
|
|
|
.fi
|
|
|
|
.LP
|
|
|
|
This command:
|
|
|
|
.LP
|
|
|
|
.nf
|
1999-08-20 01:02:36 +08:00
|
|
|
ldapsearch -L -s one -b "c=US" "o=University*" o description
|
1998-08-09 08:43:13 +08:00
|
|
|
.fi
|
|
|
|
.LP
|
1999-08-20 01:02:36 +08:00
|
|
|
will perform a one-level search at the c=US level for all entries
|
|
|
|
whose organizationName (o) begins begins with \fBUniversity\fP.
|
|
|
|
Search results will be displayed in the LDIF format.
|
1998-08-09 08:43:13 +08:00
|
|
|
The organizationName and description attribute values will be retrieved
|
|
|
|
and printed to standard output, resulting in output similar to this:
|
|
|
|
.LP
|
|
|
|
.nf
|
|
|
|
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
|
|
|
|
|
|
|
|
etc....
|
|
|
|
.fi
|
|
|
|
.SH DIAGNOSTICS
|
|
|
|
Exit status is 0 if no errors occur. Errors result in a non-zero exit
|
|
|
|
status and a diagnostic message being written to standard error.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR ldapadd (1),
|
|
|
|
.BR ldapdelete (1),
|
|
|
|
.BR ldapmodify (1),
|
|
|
|
.BR ldapmodrdn (1),
|
1998-11-11 07:37:30 +08:00
|
|
|
.BR ldap.conf (5),
|
1998-08-09 08:43:13 +08:00
|
|
|
.BR ldap (3),
|
|
|
|
.BR ldap_search (3)
|
|
|
|
.LP
|
|
|
|
Kille, S.,
|
|
|
|
.IR "A String Representation of Distinguished Names",
|
|
|
|
.SM RFC
|
|
|
|
1779,
|
|
|
|
ISODE Consortium, March 1995.
|
|
|
|
.LP
|
|
|
|
Howes, T.,
|
|
|
|
.IR "A String Representation of LDAP Search Filters",
|
|
|
|
.SM RFC
|
|
|
|
1558,
|
|
|
|
University of Michigan, December 1993.
|
1998-10-25 09:41:42 +08:00
|
|
|
.SH ACKNOWLEDGEMENTS
|
|
|
|
.B OpenLDAP
|
|
|
|
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
|
|
|
|
.B OpenLDAP
|
|
|
|
is derived from University of Michigan LDAP 3.3 Release.
|