LDAPMODIFY(1) | General Commands Manual | LDAPMODIFY(1)

# NAME

ldapmodify, ldapadd - LDAP modify entry and LDAP add entry tools

# SYNOPSIS

ldapmodify [-V[V]] [-d debuglevel] [-n] [-v] [-a] [-c] [-f file] [-S file] [-M[M]] [-x] [-D binddn] [-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost] [-p ldapport] [-P {2|3}] [-e [!]ext[=extparam]] [-E [!]ext[=extparam]] [-o opt[=optparam]] [-O security-properties] [-I] [-Q] [-N] [-U authcid] [-R realm] [-X authzid] [-Y mech] [-Z[Z]]

ldapadd [-V[V]] [-d debuglevel] [-n] [-v] [-c] [-f file] [-S file] [-M[M]] [-x] [-D binddn] [-W] [-w passwd] [-y passwdfile] [-H ldapuri] [-h ldaphost] [-p ldapport] [-P {2|3}] [-e [!]ext[=extparam]] [-E [!]ext[=extparam]] [-o opt[=optparam]] [-O security-properties] [-I] [-Q] [-N] [-U authcid] [-R realm] [-X authzid] [-Y mech] [-Z[Z]]

# 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

-V[V]
  Print version info. If -VV is given, only the version information is printed.
-d debuglevel
  Set the LDAP debugging level to debuglevel. ldapmodify must be compiled with LDAP_DEBUG defined for this option to have any effect.
-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.
-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.
-f file
  Read the entry modification information from file instead of from standard input.
-S file
  Add or change records which were 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.
-M[M]
  Enable manage DSA IT control. -MM makes control critical.
-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.
-e [!]ext[=extparam]
-E [!]ext[=extparam]

  Specify general extensions with -e and modify extensions with -E. ´!´ indicates criticality.

  General extensions:

        [!]assert=<filter>    (an RFC 4515 Filter)

        !authzid=<authzid>    ("dn:<dn>" or "u:<user>")

        [!]bauthzid           (RFC 3829 authzid control)

        [!]chaining[=<resolve>[/<cont>]]

        [!]manageDSAit

        [!]noop

        ppolicy

        [!]postread[=<attrs>] (a comma-separated attribute list)

        [!]preread[=<attrs>]  (a comma-separated attribute list)

        [!]relax

        sessiontracking

        abandon,cancel,ignore (SIGINT sends abandon/cancel,

        or ignores response; if critical, doesn't wait for SIGINT.

        not really controls)

  Modify extensions:

        [!]txn[=abort|commit]

-o opt[=optparam]]

  Specify general options.

  General options:

        nettimeout=<timeout>  (in seconds, or "none" or "max")

        ldif-wrap=<width>     (in columns, or "no" for no wrapping)

-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.
-N
  Do not use reverse DNS to canonicalize SASL host name.
-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).

# 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 the University of Michigan LDAP 3.3 Release.

2020/04/28 | OpenLDAP 2.4.50