ldapcompare

NAME

ldapcompare - LDAP compare tool

SYNOPSIS

ldapcompare [\c R -n ] [\c R -v ] [\c R -z ] [\c R -M[M] ] [\c I -d  debuglevel] [\c I -D  binddn] [\c R -W ] [\c I -w  passwd] [\c I -y  passwdfile] [\c I -H  ldapuri] [\c I -h  ldaphost] [\c I -p  ldapport] [\c I -P  2|3] [\c R -O  security-properties ] [\c R -I ] [\c R -Q ] [\c I -U  authcid] [\c I -R  realm] [\c R -x ] [\c I -X  authzid] [\c I -Y  mech] [\c R -Z[Z] ] R DN  < R attr:value  | R attr::b64value  >

DESCRIPTION

ldapcompare is a shell-accessible interface to the ldap_compare(3) library call.
ldapcompare opens a connection to an LDAP server, binds, and performs a compare using specified parameters. The DN should be a distinguished name in the directory. Attr should be a known attribute. If followed by one colon, the assertion value should be provided as a string. If followed by two colons, the base64 encoding of the value is provided. The result code of the compare is provided as the exit code and, unless ran with -z, the program prints TRUE, FALSE, or UNDEFINED on standard output.

OPTIONS

-n
Show what would be done, but don't actually perform the compare. Useful for debugging in conjunction with -v.
-v
Run in verbose mode, with many diagnostics written to standard output.
-z
Run in quiet mode, no output is written. You must check the return status. Useful in shell scripts.
-M[M]
Enable manage DSA IT control. -MM makes control critical.
I -d  debuglevel
Set the LDAP debugging level to debuglevel. ldapcompare must be compiled with LDAP_DEBUG defined for this option to have any effect.
-x
Use simple authentication instead of SASL.
I -D  binddn
Use the Distinguished Name binddn to bind to the LDAP directory.
-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.
I -w  passwd
Use passwd as the password for simple authentication.
I -y  passwdfile
Use complete contents of passwdfile as the password for simple authentication.
I -H  ldapuri
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.
I -h  ldaphost
Specify an alternate host on which the ldap server is running. Deprecated in favor of -H.
I -p  ldapport
Specify an alternate TCP port where the ldap server is listening. Deprecated in favor of -H.
I -P  2|3
Specify the LDAP protocol version to use.
I -O  security-properties
Specify SASL security properties.
-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.
-Q
Enable SASL Quiet mode. Never prompt.
I -U  authcid
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.
I -R  realm
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.
I -X  authzid
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:\c <distinguished name> or u:\c <username>
I -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.
-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ\c , the command will require the operation to be successful.

EXAMPLES

    ldapcompare "uid=babs,dc=example,dc=com"  sn:Jensen
    ldapcompare "uid=babs,dc=example,dc=com"  sn::SmVuc2Vu
are all equivalent.

LIMITATIONS

Requiring the value be passed on the command line is limiting and introduces some security concerns. The command should support a mechanism to specify the location (file name or URL) to read the value from.

SEE ALSO

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). OpenLDAP is derived from University of Michigan LDAP 3.3 Release.