-.TH LDAPMODIFY 1 "20 April 2000" "OpenLDAP LDVERSION"
+.TH LDAPMODIFY 1 "RELEASEDATE" "OpenLDAP LDVERSION"
.\" $OpenLDAP$
-.\" Copyright 1998-2000 The OpenLDAP Foundation All Rights Reserved.
+.\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved.
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
.SH NAME
ldapmodify, ldapadd \- LDAP modify entry and LDAP add entry tools
[\c
.BR \-a ]
[\c
-.BR \-b ]
-[\c
.BR \-c ]
[\c
-.BR \-C ]
-[\c
-.BR \-r ]
+.BI \-S \ file\fR]
[\c
.BR \-n ]
[\c
.BR \-v ]
[\c
-.BR \-k ]
-[\c
-.BR \-K ]
-[\c
.BR \-M[M] ]
[\c
.BI \-d \ debuglevel\fR]
[\c
.BI \-w \ passwd\fR]
[\c
+.BI \-y \ passwdfile\fR]
+[\c
+.BI \-H \ ldapuri\fR]
+[\c
.BI \-h \ ldaphost\fR]
[\c
.BI \-p \ ldapport\fR]
[\c
.BI \-P \ 2\fR\||\|\fI3\fR]
[\c
-.BR \-E[E] ]
+.BR \-O \ security-properties ]
[\c
-.BR \-I[I] ]
+.BR \-I ]
[\c
-.BI \-U \ username\fR]
+.BR \-Q ]
+[\c
+.BI \-U \ authcid\fR]
+[\c
+.BI \-R \ realm\fR]
+[\c
+.BR \-x ]
[\c
.BI \-X \ authzid\fR]
[\c
.LP
.B ldapadd
[\c
-.BR \-b ]
-[\c
.BR \-c ]
[\c
-.BR \-r ]
+.BI \-S \ file\fR]
[\c
.BR \-n ]
[\c
.BR \-v ]
[\c
-.BR \-k ]
-[\c
-.BR \-K ]
-[\c
.BR \-M[M] ]
[\c
.BI \-d \ debuglevel\fR]
[\c
.BI \-w \ passwd\fR]
[\c
+.BI \-y \ passwdfile\fR]
+[\c
.BI \-h \ ldaphost\fR]
[\c
.BI \-p \ ldapport\fR]
[\c
.BI \-P \ 2\fR\||\|\fI3\fR]
[\c
-.BR \-E[E] ]
+.BR \-O \ security-properties ]
+[\c
+.BR \-I ]
+[\c
+.BR \-Q ]
[\c
-.BR \-I[I] ]
+.BI \-U \ authcid\fR]
[\c
-.BI \-U \ username\fR]
+.BI \-R \ realm\fR]
+[\c
+.BR \-x ]
[\c
.BI \-X \ authzid\fR]
[\c
.SH DESCRIPTION
.B ldapmodify
is a shell-accessible interface to the
-.BR ldap_modify (3)
+.BR ldap_add_ext (3),
+.BR ldap_modify_ext (3),
+.BR ldap_delete_ext (3)
and
-.BR ldap_add (3)
+.BR ldap_rename (3).
library calls.
.B ldapadd
is implemented as a hard link to the ldapmodify tool. When invoked as
.BR ldapadd ,
this flag is always set.
.TP
-.B \-b
-Assume that any values that start with a `/' are binary values and that
-the actual value is in a file whose path is specified in the place where
-values normally appear.
-.TP
-.B \-C
-Automatically chase referrals.
-.TP
.B \-c
Continuous operation mode. Errors are reported, but
.B ldapmodify
will continue with modifications. The default is to exit after
reporting an error.
.TP
-.B \-r
-Replace existing values by default.
+.BI \-S \ file
+Add or change records which where skipped due to an error are written to \fIfile\fP
+and the error message returned by the server is added as a comment. Most useful in
+conjunction with -c.
.TP
.B \-n
Show what would be done, but don't actually modify entries. Useful for
.B \-v
Use verbose mode, with many diagnostics written to standard output.
.TP
-.B \-k
-Use Kerberos authentication instead of simple authentication. It is
-assumed that you already have a valid ticket granting ticket. You must
-compile with KERBEROS defined for this option to have any effect.
-.TP
-.B \-K
-Same as \-k, but only does step 1 of the kerberos bind. This is useful
-when connecting to a slapd and there is no x500dsa.hostname principal
-registered with your kerberos servers.
-.TP
.B \-F
Force application of all changes regardless of the contents of input
lines that begin with
Read the entry modification information from \fIfile\fP instead of from
standard input.
.TP
+.B \-x
+Use simple authentication instead of SASL.
+.TP
.BI \-D \ binddn
-Use \fIbinddn\fP to bind to the LDAP directory. \fIbinddn\fP should be
-a string-represented DN as defined in RFC 1779.
+Use the Distinguished Name \fIbinddn\fP to bind to the LDAP directory.
.TP
.B \-W
Prompt for simple authentication.
.BI \-w \ passwd
Use \fIpasswd\fP as the password for simple authentication.
.TP
+.BI \-y \ passwdfile
+Use complete contents of \fIpasswdfile\fP as the password for
+simple authentication.
+.TP
+.BI \-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.
+.TP
.BI \-h \ ldaphost
Specify an alternate host on which the ldap server is running.
+Deprecated in favor of -H.
.TP
.BI \-p \ ldapport
Specify an alternate TCP port where the ldap server is listening.
+Deprecated in favor of -H.
.TP
.BI \-P \ 2\fR\||\|\fI3
Specify the LDAP protocol version to use.
.TP
-.B \-E[E]
-Requset the use of SASL privacy (encryption). If the server allows it, data
-sent between the client and the server will be encrypted. If the server
-requires the use of encryption and this flag is not specified, the command
-will fail. If you use
-.B \-EE\c
-, the command will fail if the server does not support encryption.
-.B \-E[E]
-implies
-.B \-I[I]
+.BI \-O \ security-properties
+Specify SASL security properties.
+.TP
+.B \-I
+Enable SASL Interactive mode. Always prompt. Default is to prompt
+only as needed.
.TP
-.B \-I[I]
-Request the use of SASL integrity checking. It protects data sent between the
-client and the server from being modified along the way, but it does not
-prevent sniffing. If the server requires the use of integrity checking and
-this flag is not specified, the command will fail.If you use
-.B \-II\c
-, the command will fail if the server does not support this function.
+.B \-Q
+Enable SASL Quiet mode. Never prompt.
.TP
-.BI \-U \ username
-Specify the username for SASL bind. The syntax of the username depends on the
-actual SASL mechanism used.
+.BI \-U \ authcid
+Specify the authentication ID for SASL bind. The form of the ID
+depends on the actual SASL mechanism used.
+.TP
+.BI \-R \ realm
+Specify the realm of authentication ID for SASL bind. The form of the realm
+depends on the actual SASL mechanism used.
.TP
.BI \-X \ authzid
Specify the requested authorization ID for SASL bind.
.SH INPUT FORMAT
The contents of \fIfile\fP (or standard input if no \-f flag is given on
the command line) should conform to the format defined in
-.BR slapd.replog (5),
+.BR ldif (1)
+(LDIF as defined RFC 2849), or
+.BR slapd.replog (5)
+(an extended form of LDIF)
with the exceptions noted below.
.LP
-If the first line of a record consists of a decimal number (entry id),
-it is ignored.
-.LP
Lines that begin with "replica:" are matched against the LDAP server host
and port in use to decide if a particular replog record should be applied.
Any other lines that precede the "dn:" line are ignored.
.LP
If no "changetype:" line is present, the default is "add" if the -a
flag is set (or if the program was invoked as
-.I ldapmodify)
+.I ldapadd)
and "modify" otherwise.
.LP
If changetype is "modify" and no "add:", "replace:", or "delete:" lines
-appear, the default is "replace" if the -r flag is set and "add"
-otherwise.
+appear, the default is "replace" for
+.BR ldapmodify (1)
+and "add" for
+.BR ldapadd (1).
.LP
Note that the above exceptions to the
.BR slapd.replog (5)
.I ldapmodify
or
.I ldapadd.
-.SH ALTERNATIVE INPUT FORMAT
-An alternative input format is supported for compatibility with older
-versions of
-.I ldapmodify.
-This format consists of one or more entries separated by blank lines,
-where each entry looks like:
-.LP
-.nf
- Distinguished Name (DN)
- attr=value
- [attr=value ...]
-.fi
-.LP
-where \fIattr\fP is the name of the attribute and \fIvalue\fP is the
-value.
-.LP
-By default, values are added. If the
-.RI \- r
-command line flag is
-given, the default is to replace existing values with the new one.
-Note that it is permissible for a given attribute to appear more than
-once (for example, to add more than one value for an attribute). Also
-note that you can use a trailing `\\' to continue values across lines and
-preserve newlines in the value itself (this is useful for modifying
-QUIPU iattr attributes among others).
-.LP
-.I attr
-should be preceded by a \fB-\fP to remove a value. The `=' and
-value should be omitted to remove an entire attribute.
-.LP
-.I attr
-should be preceded by a \fB+\fP to add a value in the presence of the
-\-r flag.
-.LP
.SH EXAMPLES
Assuming that the file
.B /tmp/entrymods
exists and has the contents:
.LP
.nf
- dn: cn=Modify Me, dc=OpenLDAP, dc=Org
+ dn: cn=Modify Me,dc=example,dc=com
changetype: modify
replace: mail
- mail: modme@OpenLDAP.org
+ mail: modme@example.com
-
add: title
title: Grand Poobah
-
add: jpegPhoto
- jpegPhoto:< file://tmp/modme.jpeg
+ jpegPhoto:< file:///tmp/modme.jpeg
-
delete: description
-
the command:
.LP
.nf
- ldapmodify -b -r -f /tmp/entrymods
+ ldapmodify -f /tmp/entrymods
.fi
.LP
will replace the contents of the "Modify Me" entry's
.I mail
-attribute with the value "modme@OpenLDAP.org", add a
+attribute with the value "modme@example.com", add a
.I title
of "Grand Poobah", and the contents of the file "/tmp/modme.jpeg"
as a
and completely remove the
.I description
attribute.
-The same modifications as above can be performed using the older
-.I ldapmodify
-inout format:
-.LP
-.nf
- cn=Modify Me, dc=OpenLDAP, dc=org
- mail=modme@OpenLDAP.org
- +title=Grand Poobah
- +jpegPhoto=/tmp/modme.jpeg
- -description
-.fi
-.LP
-and the command:
-.LP
-.nf
- ldapmodify -b -r -f /tmp/entrymods
-.fi
.LP
Assuming that the file
.B /tmp/newentry
exists and has the contents:
.LP
.nf
- dn: cn=Barbara Jensen, dc=OpenLDAP, dc=org
+ 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@OpenLDAP.org
+ mail: bjensen@example.com
uid: bjensen
.LP
the command:
.LP
.nf
- ldapadd -f /tmp/entrymods
+ ldapadd -f /tmp/newentry
.fi
.LP
will add a new entry for Babs Jensen, using the values from the
.B /tmp/newentry.
.LP
Assuming that the file
-.B /tmp/newentry
+.B /tmp/entrymods
exists and has the contents:
.LP
.nf
- dn: cn=Barbara Jensen, dc=OpenLDAP, dc=org
+ dn: cn=Barbara Jensen,dc=example,dc=com
changetype: delete
.LP
the command:
.LP
will remove Babs Jensen's entry.
.SH DIAGNOSTICS
-Exit status is 0 if no errors occur. Errors result in a non-zero exit
-status and a diagnostic message being written to standard error.
+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.
.SH "SEE ALSO"
.BR ldapadd (1),
.BR ldapdelete (1),
.BR ldapsearch (1),
.BR ldap.conf (5),
.BR ldap (3),
-.BR ldap_add (3),
-.BR ldap_delete (3),
-.BR ldap_modify (3),
-.BR ldap_modrdn (3),
+.BR ldap_add_ext (3),
+.BR ldap_delete_ext (3),
+.BR ldap_modify_ext (3),
+.BR ldap_modrdn_ext (3),
+.BR ldif (5),
.BR slapd.replog (5)
-.LP
-Kille, S.,
-.IR "A String Representation of Distinguished Names",
-.SM RFC
-1779,
-ISODE Consortium, March 1995.
-.SH BUGS
-There is no interactive mode, but there probably should be.
+.SH AUTHOR
+The OpenLDAP Project <http://www.openldap.org/>
.SH ACKNOWLEDGEMENTS
-.B OpenLDAP
-is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
-.B OpenLDAP
-is derived from University of Michigan LDAP 3.3 Release.
+.so ../Project