mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
401 lines
10 KiB
Groff
401 lines
10 KiB
Groff
.TH LDAPSEARCH 1 "3 October 2000" "OpenLDAP LDVERSION"
|
|
.\" $OpenLDAP$
|
|
.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
|
.SH NAME
|
|
ldapsearch \- LDAP search tool
|
|
.SH SYNOPSIS
|
|
.B ldapsearch
|
|
[\c
|
|
.BR \-n ]
|
|
[\c
|
|
.BR \-u ]
|
|
[\c
|
|
.BR \-v ]
|
|
[\c
|
|
.BR \-k ]
|
|
[\c
|
|
.BR \-K ]
|
|
[\c
|
|
.BR \-t ]
|
|
[\c
|
|
.BR \-A ]
|
|
[\c
|
|
.BR \-C ]
|
|
[\c
|
|
.BR \-L[L[L]] ]
|
|
[\c
|
|
.BR \-M[M] ]
|
|
[\c
|
|
.BI \-d \ debuglevel\fR]
|
|
[\c
|
|
.BI \-f \ file\fR]
|
|
[\c
|
|
.BI \-D \ binddn\fR]
|
|
[\c
|
|
.BR \-W ]
|
|
[\c
|
|
.BI \-w \ bindpasswd\fR]
|
|
[\c
|
|
.BI \-H \ ldapuri\fR]
|
|
[\c
|
|
.BI \-h \ ldaphost\fR]
|
|
[\c
|
|
.BI \-p \ ldapport\fR]
|
|
[\c
|
|
.BI \-P \ 2\fR\||\|\fI3\fR]
|
|
[\c
|
|
.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]
|
|
[\c
|
|
.BR \-O \ security-properties ]
|
|
[\c
|
|
.BR \-I ]
|
|
[\c
|
|
.BR \-Q ]
|
|
[\c
|
|
.BI \-U \ authcid\fR]
|
|
[\c
|
|
.BR \-x ]
|
|
[\c
|
|
.BI \-X \ authzid\fR]
|
|
[\c
|
|
.BI \-Y \ mech\fR]
|
|
[\c
|
|
.BR \-Z[Z] ]
|
|
.I filter
|
|
[\c
|
|
.IR attrs... ]
|
|
.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 specified parameters. The \fIfilter\fP should conform to
|
|
the string representation for search filters as defined in RFC 2254.
|
|
If not provided, the default filter, (objectClass=*), is used.
|
|
.LP
|
|
If
|
|
.B ldapsearch finds one or more entries, the attributes specified by
|
|
\fIattrs\fP are returned. If * is listed, all user attributes are
|
|
returned. If + is listed, all operational attributes are returned.
|
|
If no \fIattrs\fP are listed, all attributes are returned. If only
|
|
1.1 is listed, no attributes will be returned.
|
|
.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 Name 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 support 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 \-L
|
|
Search results are display in LDAP Data Interchange Format detailed in
|
|
.BR ldif (5).
|
|
A single -L restricts the output to LDIFv1.
|
|
A second -L disables comments.
|
|
A third -L disables printing of the LDIF version.
|
|
The default is to use an extended version of LDIF.
|
|
.TP
|
|
.B \-M[M]
|
|
Enable manage DSA IT control.
|
|
.B \-MM
|
|
makes control critical.
|
|
.TP
|
|
.B \-C
|
|
Automatically chase referrals.
|
|
.TP
|
|
.BI \-S \ attribute
|
|
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
|
|
.BI \-d \ debuglevel
|
|
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
|
|
.BI \-f \ file
|
|
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
|
|
.B \-x
|
|
Use simple authentication instead of SASL.
|
|
.TP
|
|
.BI \-D \ binddn
|
|
Use the Distinguished Name \fIbinddn\fP to bind to the LDAP directory.
|
|
.TP
|
|
.B \-W
|
|
Prompt for simple authentication.
|
|
This is used instead of specifying the password on the command line.
|
|
.TP
|
|
.BI \-w \ bindpasswd
|
|
Use \fIbindpasswd\fP as the password for simple authentication.
|
|
.TP
|
|
.BI \-H \ ldapuri
|
|
Specify URI(s) referring to the ldap server(s).
|
|
.TP
|
|
.BI \-h \ ldaphost
|
|
Specify an alternate host on which the ldap server is running.
|
|
Deprecated in favor of -H.
|
|
.TP
|
|
.BI \-p \ ldapport
|
|
Specify an alternate TCP port where the ldap server is listening.
|
|
Deprecated in favor of -H.
|
|
.TP
|
|
.BI \-b \ searchbase
|
|
Use \fIsearchbase\fP as the starting point for the search instead of
|
|
the default.
|
|
.TP
|
|
.BI \-s \ base\fR\||\|\fIone\fR\||\|\fIsub
|
|
Specify the scope of the search to be one of
|
|
.IR base ,
|
|
.IR one ,
|
|
or
|
|
.I sub
|
|
to specify a base object, one-level, or subtree search. The default
|
|
is
|
|
.IR sub .
|
|
.TP
|
|
.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 ,
|
|
or
|
|
.I find
|
|
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
|
|
.BI \-P \ 2\fR\||\|\fI3
|
|
Specify the LDAP protocol version to use.
|
|
.TP
|
|
.BI \-l \ timelimit
|
|
wait at most \fItimelimit\fP seconds for a search to complete. A
|
|
timelimit of
|
|
.I 0
|
|
(zero) removes the
|
|
.B ldap.conf
|
|
limit.
|
|
A server may impose a maximal timelimit which only
|
|
the root user may override.
|
|
.TP
|
|
.BI \-z \ sizelimit
|
|
retrieve at most \fIsizelimit\fP entries for a search. A sizelimit
|
|
of
|
|
.I 0
|
|
(zero) removes the
|
|
.B ldap.conf
|
|
limit.
|
|
A server may impose a maximal sizelimit which only
|
|
the root user may override.
|
|
.TP
|
|
.BI \-O \ security-properties
|
|
Specify SASL security properties.
|
|
.TP
|
|
.B \-I
|
|
Enable SASL Interactive mode. Always prompt. Default is to prompt
|
|
only as needed.
|
|
.TP
|
|
.B \-Q
|
|
Enable SASL Quiet mode. Never prompt.
|
|
.TP
|
|
.BI \-U \ authcid
|
|
Specify the authentication ID for SASL bind. The form of the ID
|
|
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]
|
|
Issue StartTLS (Transport Layer Security) extended operation. If you use
|
|
.B \-ZZ\c
|
|
, the command will require the operation to be successful.
|
|
.SH OUTPUT FORMAT
|
|
If one or more entries are found, each entry is written to standard
|
|
output in LDAP Data Interchange Format or
|
|
.BR ldif (5):
|
|
.LP
|
|
.nf
|
|
version: 1
|
|
|
|
# bjensen, example, net
|
|
dn: uid=bjensen, dc=example, dc=net
|
|
objectClass: person
|
|
objectClass: dcObject
|
|
uid: bjensen
|
|
cn: Barbara Jensen
|
|
sn: Jensen
|
|
...
|
|
.fi
|
|
.LP
|
|
If the -t option is used, the URI 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
|
|
ldapsearch -LLL "(sn=smith)" cn sn telephoneNumber
|
|
.fi
|
|
.LP
|
|
will perform a subtree search (using the default search base defined
|
|
in
|
|
.BR ldap.conf (5))
|
|
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.
|
|
The output might look something like this if two entries are found:
|
|
.LP
|
|
.nf
|
|
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
|
|
.fi
|
|
.LP
|
|
The command:
|
|
.LP
|
|
.nf
|
|
ldapsearch -LLL -u -t "(uid=xyz)" jpegPhoto audio
|
|
.fi
|
|
.LP
|
|
will perform a subtree search using the default search base for entries
|
|
with user id of "xyz". The user friendly form of the entry's DN will be
|
|
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
|
|
dn: uid=xyz, dc=example, dc=com
|
|
ufn: xyz, example, com
|
|
audio:< file::/tmp/ldapsearch-audio-a19924
|
|
jpegPhoto:< file::=/tmp/ldapsearch-jpegPhoto-a19924
|
|
.fi
|
|
.LP
|
|
This command:
|
|
.LP
|
|
.nf
|
|
ldapsearch -LLL -s one -b "c=US" "(o=University*)" o description
|
|
.fi
|
|
.LP
|
|
will perform a one-level search at the c=US level for all entries
|
|
whose organization name (o) begins begins with \fBUniversity\fP.
|
|
The organization name 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 zero 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),
|
|
.BR ldap.conf (5),
|
|
.BR ldif (5),
|
|
.BR ldap (3),
|
|
.BR ldap_search (3)
|
|
.SH AUTHOR
|
|
The OpenLDAP Project <http://www.openldap.org/>
|
|
.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.
|