Your company here — click to reach over 10,000 unique daily visitors

ldapvi - Man Page

LDAP client


ldapvi [OPTION]... [FILTER] [AD]...



ldapvi --discover --host HOSTNAME

Perform an LDAP search and update results using a text editor.

Other usage

ldapvi --out [OPTION]... [FILTER] [AD]...

Print entries

ldapvi --in [OPTION]... [FILENAME]

Load change records

ldapvi --delete [OPTION]... DN...

Edit a delete record

ldapvi --rename [OPTION]... DN1 DN2

Edit a rename record

Connection options

-h,  --host URL


-D,  --user USER

Search filter or DN: User to bind as.     [1] Sets --bind simple.

-w,  --password SECRET

Password (also valid for SASL).

--bind [simple,sasl]

Disable or enable SASL.

--bind-dialog [never,auto,always]

Interactive login dialog.

SASL options (these parameters set --bind sasl)

-I, --sasl-interactive Set --bind-dialog always.

-O,  --sasl-secprops P

SASL security properties.

-Q,  --sasl-quiet

Set --bind-dialog never.

-R,  --sasl-realm

R  SASL realm.

-U,  --sasl-authcid AC

SASL authentication identity.

-X,  --sasl-authzid AZ

SASL authorization identity.

-Y,  --sasl-mech

MECH  SASL mechanism.

Search parameters

-b,  --base DN

Search base.

-s,  --scope SCOPE

Search scope.  One of base|one|sub.

-S,  --sort KEYS

Sort control (critical).

Miscellaneous options


(Only with --in, --ldapmodify:) Treat attrval records as new entries to add.

-o, --class OBJCLASS

Class to add.  Can be repeated.  Implies -A.


Print parameters in ldap.conf syntax.

-c  --continue

Ignore LDAP errors and continue processing.


(Only with --rename:) Delete the old RDN.

-a, --deref


-d, --discover

Auto-detect naming contexts.              [2]

-A, --empty

Don't search, start with empty file.  See -o.

--encoding [ASCII|UTF-8|binary]

The encoding to allow.  Default is UTF-8.

-H, --help

This help.


Always read libldap configuration.

-m, --may

Show missing optional attributes as comments.

-M, --managedsait

manageDsaIT control (critical).


Commit without asking for confirmation.

-!, --noninteractive

Never ask any questions.

-q, --quiet

Disable progress output.

-R, --read DN

Same as -b DN -s base '(objectclass=*)' + *

-Z, --starttls

Require startTLS.

--tls [never|allow|try|strict]

Level of TLS strictess.

-v, --verbose

Note every update.



Short for --quiet --out


Short for --noninteractive --in


Short for --noninteractive --delete


Short for --noninteractive --rename

Environment variables: VISUAL, EDITOR, PAGER.

[1] User names can be specified as distinguished names


or search filters:


Note the use of parenthesis, which can be omitted from search filters usually but are required here.  For this searching bind to work, your client library must be configured with appropriate default search parameters.

[2] Repeat the search for each naming context found and present the

concatenation of all search results.

Conflicts with --base.

With --config, show a BASE configuration line for each context.

A special (offline) option is --diff, which compares two files and writes any changes to standard output in LDIF format.

Reporting Bugs

Report bugs to "ldapvi@lists.askja.de".

Getting Started

Assuming a suitably configured LDAP library, run ldapvi without arguments to see all entries available.

Otherwise, try `ldapvi -h HOSTNAME --discover' to query the ROOT DSE for available naming contexts.

Once that works, run `ldapvi -h HOSTNAME --discover --config' to generate sample configuration that can be pasted into ~/.ldaprc or /etc/ldap/ldap.conf.

File Format

ldapvi uses an LDIF-like syntax, but not standard LDIF.  Please refer to http://www.lichteblau.com/ldapvi/manual.xml#syntax


Please report bugs to <ldapvi@lists.askja.de>.

See Also



David Lichteblau <david@lichteblau.com>


May 2007 ldapvi 1.7