NAME
ldapmodify, ldapadd - LDAP modify entry and LDAP add entry tools
SYNOPSIS
ldapmodify [-a] [-c] [-S file] [-n] [-v] [-M[M]] [-d debuglevel]
[-D binddn] [-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost]
[-p ldapport] [-P {2|3}] [-e [!]ext[=extparam]] [-E [!]ext[=extparam]]
[-O security-properties] [-I] [-Q] [-U authcid] [-R realm] [-x]
[-X authzid] [-Y mech] [-Z[Z]] [-f file]
ldapadd [-c] [-S file] [-n] [-v] [-M[M]] [-d debuglevel] [-D binddn]
[-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost]
[-p ldapport] [-P {2|3}] [-O security-properties] [-I] [-Q]
[-U authcid] [-R realm] [-x] [-X authzid] [-Y mech] [-Z[Z]] [-f file]
DESCRIPTION
ldapmodify is a shell-accessible interface to the ldap_add_ext(3),
ldap_modify_ext(3), ldap_delete_ext(3) and ldap_rename(3). library
calls. ldapadd is implemented as a hard link to the ldapmodify tool.
When invoked as ldapadd the -a (add new entry) flag is turned on
automatically.
ldapmodify opens a connection to an LDAP server, binds, and modifies or
adds entries. The entry information is read from standard input or
from file through the use of the -f option.
OPTIONS
-a Add new entries. The default for ldapmodify is to modify
existing entries. If invoked as ldapadd, this flag is always
set.
-c Continuous operation mode. Errors are reported, but ldapmodify
will continue with modifications. The default is to exit after
reporting an error.
-S file
Add or change records which where skipped due to an error are
written to file and the error message returned by the server is
added as a comment. Most useful in conjunction with -c.
-n Show what would be done, but don't actually modify entries.
Useful for debugging in conjunction with -v.
-v Use verbose mode, with many diagnostics written to standard
output.
-M[M] Enable manage DSA IT control. -MM makes control critical.
-d debuglevel
Set the LDAP debugging level to debuglevel. ldapmodify must be
compiled with LDAP_DEBUG defined for this option to have any
effect.
-f file
Read the entry modification information from file instead of
from standard input.
-x Use simple authentication instead of SASL.
-D binddn
Use the Distinguished Name binddn to bind to the LDAP directory.
For SASL binds, the server is expected to ignore this value.
-W Prompt for simple authentication. This is used instead of
specifying the password on the command line.
-w passwd
Use passwd as the password for simple authentication.
-y passwdfile
Use complete contents of passwdfile as the password for simple
authentication.
-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.
-h ldaphost
Specify an alternate host on which the ldap server is running.
Deprecated in favor of -H.
-p ldapport
Specify an alternate TCP port where the ldap server is
listening. Deprecated in favor of -H.
-P {2|3}
Specify the LDAP protocol version to use.
-O security-properties
Specify SASL security properties.
-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and search extensions with
-E. '!' indicates criticality.
General extensions:
[!]assert=<filter> (an RFC 4515 Filter)
[!]authzid=<authzid> ("dn:<dn>" or "u:<user>")
[!]manageDSAit
[!]noop
ppolicy
[!]postread[=<attrs>] (a comma-separated attribute list)
[!]preread[=<attrs>] (a comma-separated attribute list)
abandon, cancel (SIGINT sends abandon/cancel; not really controls)
Search extensions:
[!]domainScope (domain scope)
[!]mv=<filter> (matched values filter)
[!]pr=<size>[/prompt|noprompt] (paged results/prompt)
[!]sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (server side sorting)
[!]subentries[=true|false] (subentries)
[!]sync=ro[/<cookie>] (LDAP Sync refreshOnly)
rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)
-I Enable SASL Interactive mode. Always prompt. Default is to
prompt only as needed.
-Q Enable SASL Quiet mode. Never prompt.
-U authcid
Specify the authentication ID for SASL bind. The form of the ID
depends on the actual SASL mechanism used.
-R realm
Specify the realm of authentication ID for SASL bind. The form
of the realm depends on the actual SASL mechanism used.
-X authzid
Specify the requested authorization ID for SASL bind. authzid
must be one of the following formats: dn:<distinguished name> or
u:<username>
-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, the command will require the operation to be
successful.
INPUT FORMAT
The contents of file (or standard input if no -f flag is given on the
command line) must conform to the format defined in ldif(5) (LDIF as
defined in RFC 2849).
EXAMPLES
Assuming that the file /tmp/entrymods exists and has the contents:
dn: cn=Modify Me,dc=example,dc=com
changetype: modify
replace: mail
mail: modme@example.com
-
add: title
title: Grand Poobah
-
add: jpegPhoto
jpegPhoto:< file:///tmp/modme.jpeg
-
delete: description
-
the command:
ldapmodify -f /tmp/entrymods
will replace the contents of the "Modify Me" entry's mail attribute
with the value "modme@example.com", add a title of "Grand Poobah", and
the contents of the file "/tmp/modme.jpeg" as a jpegPhoto, and
completely remove the description attribute.
Assuming that the file /tmp/newentry exists and has the contents:
dn: cn=Barbara Jensen,dc=example,dc=com
objectClass: person
cn: Barbara Jensen
cn: Babs Jensen
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen
the command:
ldapadd -f /tmp/newentry
will add a new entry for Babs Jensen, using the values from the file
/tmp/newentry.
Assuming that the file /tmp/entrymods exists and has the contents:
dn: cn=Barbara Jensen,dc=example,dc=com
changetype: delete
the command:
ldapmodify -f /tmp/entrymods
will remove Babs Jensen's entry.
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.
SEE ALSO
ldapadd(1), ldapdelete(1), ldapmodrdn(1), ldapsearch(1), ldap.conf(5),
ldap(3), ldap_add_ext(3), ldap_delete_ext(3), ldap_modify_ext(3),
ldap_modrdn_ext(3), ldif(5), slapd.replog(5)
AUTHOR
The OpenLDAP Project <http://www.openldap.org/>
ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project
<http://www.openldap.org/>. OpenLDAP Software is derived from
University of Michigan LDAP 3.3 Release.