/usr/bin/ldclt: invalid option -- '-'
ldclt version 4.23
usage: ldclt [-qQvV] [-E <max errors>]
[-b <base DN>] [-h <host>] [-p <port>] [-t <timeout>]
[-D <bind DN>] [-w <passwd>] [-o <SASL option>]
[-e <execParams>] [-a <max pending>]
[-n <nb threads>] [-i <nb times>] [-N <nb samples>]
[-I <err number>] [-T <total>]
[-r <low> -R <high>]
[-f <filter>] [-s <scope>]
[-S <worker>] [-P<supplier port>]
[-W <waitsec>] [-Z <certfile>]
This tool is a ldap client targeted to validate the reliability of
the product under test under hard use.
The valid options are:
-a Asynchronous mode, with max pending operations.
-b Give the base DN to use. Default "dc=example,dc=com".
-D Bind DN. See -w
-E Max errors allowed. Default 1000.
-e Execution parameters:
abandon : abandon async search requests.
add : ldap_add() entries.
append : append entries to the genldif file.
ascii : ascii 7-bits strings.
attreplacefile=attrname:<file name> : replace attribute with given file content.
attreplace=name:mask : replace attribute of existing entry.
attrlist=name:name:name : specify list of attribs to retrieve
attrsonly=0|1 : ldap_search() parameter. Set 0 to read values.
bindeach : ldap_bind() for each operation.
bindonly : only bind/unbind, no other operation is performed.
close : will close() the fd, rather than ldap_unbind().
cltcertname=name : name of the SSL client certificate
commoncounter : all threads share the same counter.
counteach : count each operation not only successful ones.
delete : ldap_delete() entries.
deref[=deref:attr]: This option works with -e add and esearch.
: With -e esearch:
: adds dereference control.
: if =deref:attr is given, the deref and attr
: pair is set to the control request.
: if not given, "secretary:cn" is set.
: With -e add:
: adds "secretary" attr to the inetOrgPerson
: entries to prepare for -e esearch using
: the default deref attr pair.
dontsleeponserverdown : will loop very fast if server down.
emailPerson : objectclass=emailPerson (-e add only).
esearch : exact search.
genldif=filename : generates a ldif file
imagesdir=path : specify where are the images.
incr : incremental values.
inetOrgPerson : objectclass=inetOrgPerson (-e add only).
keydbfile=file : filename of the key database
keydbpin=password : password for accessing the key database
noglobalstats : don't print periodical global statistics
noloop : does not loop the incremental numbers.
object=filename : build object from input file
person : objectclass=person (-e add only).
random : random filters, etc...
randomattrlist=name:name:name : random select attrib in the list
randombase : random base DN.
randombaselow=value : low value for random generator.
randombasehigh=value : high value for random generator.
randombinddn : random bind DN.
randombinddnfromfile=file : retrieve bind DN & passwd from file
randombinddnlow=value : low value for random generator.
randombinddnhigh=value : high value for random generator.
rdn=attrname:value : alternate for -f.
referral=on|off|rebind : change referral behaviour.
scalab01 : activates scalab01 scenario.
scalab01_cnxduration : maximum connection duration.
scalab01_maxcnxnb : modem pool size.
scalab01_wait : sleep() between 2 attempts to connect.
smoothshutdown : main thread waits till the worker threads exit.
string : create random strings rather than random numbers.
v2 : ldap v2.
withnewparent : rename with newparent specified as argument.
randomauthid : random SASL Authid.
randomauthidlow=value : low value for random SASL Authid.
randomauthidhigh=value : high value for random SASL Authid.
-f Filter for searches.
-h Host to connect. Default "localhost".
-H Ldap URL to connect to. Overrides -h -p. Default "None".
-i Number of times inactivity allowed. Default 3 (30 seconds)
-I Ignore errors (cf. -E). Default none.
-n Number of threads. Default 10.
-N Number of samples (10 seconds each). Default infinite.
-o SASL Option.
-p Server port. Default 389.
-P Supplier port (to check replication). Default 16000.
-q Quiet mode. See option -I.
-Q Super quiet mode.
-r Range's low value.
-R Range's high value.
-s Scope. May be base, subtree or one. Default subtree.
-S Workers to check.
-t LDAP operations timeout. Default 30 seconds.
-T Total number of operations per thread. Default infinite.
-v Verbose.
-V Very verbose.
-w Bind passwd. See -D.
-W Wait between two operations. Default 0 seconds.
-Z certfile. Turn on SSL and use certfile as the certificate DB
ldclt[2]: Ending at Mon Nov 9 14:29:54 2026
ldclt[2]: Exit status 2 - Error in parameters.
Options (28)
| Option | Description | Source |
|---|
-a | Asynchronous mode, with max pending operations. | help + man |
-b | Give the base DN to use. | help + man |
-D | Bind DN. | help + man |
-E | Max errors allowed. | help + man |
-e | Execution parameters: abandon : abandon async search requests. | help + man |
-f | Filter for searches. | help + man |
-h | Host to connect. | help + man |
-H | Ldap URL to connect to. | help + man |
-i | Number of times inactivity allowed. | help + man |
-I | Ignore errors (cf. | help + man |
-n | Number of threads. | help + man |
-N | Number of samples (10 seconds each). | help + man |
-o | SASL Option. | help + man |
-p | Server port. | help + man |
-P | Supplier port (to check replication). | help + man |
-q | Quiet mode. | help + man |
-Q | Super quiet mode. | help + man |
-r | Range's low value. | help + man |
-R | Range's high value. | help + man |
-s | Scope. | help + man |
-S | Consumer to check. | help + man |
-t | LDAP operations timeout. | help + man |
-T | Total number of operations per thread. | help + man |
-v | Verbose. | help + man |
-V | Very verbose. | help + man |
-w | Bind passwd. | help + man |
-W | Wait between two operations. | help + man |
-Z | certfile. | help + man |
Examples (3) from the manual page, untested
objectClass: top
To populate a database with 1000 user objects create a file template.ldif containing:ldclt -h localhost -p 389 -D "cn=Directory Manager" -w password -b "ou=people,dc=example,dc=com" -I 68 -e add,commoncounter -e "object=/tmp/template.ldif,rdn=uid:user[A=INCRNNOLOOP(0;999;4)]"
This can now be loaded to the database using:ldclt -h localhost -p 389 -e bindeach,bindonly -D uid=user0XXX,dc=example,dc=com -w password0XXX -e randombinddn,randombinddnlow=0,randombinddnhigh=0999 -e esearch -f "(&(objectClass=posixAccount)(uid=user*)(uidNumber=*)(gidNumber=*))"
Using these created users you can test binding to the accounts with:
Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.