]> git.sur5r.net Git - openldap/blobdiff - doc/man/man1/ldapmodify.1
Merge remote branch 'origin/mdb.master'
[openldap] / doc / man / man1 / ldapmodify.1
index 8da1462d447205b26da4bb5b5ed2138cad4bec17..026801294699a43bffba4a853d4e280d27c86d4f 100644 (file)
@@ -1,24 +1,23 @@
-.TH LDAPMODIFY 1 "10 November 1998" "OpenLDAP LDVERSION"
+.TH LDAPMODIFY 1 "RELEASEDATE" "OpenLDAP LDVERSION"
+.\" $OpenLDAP$
+.\" Copyright 1998-2011 The OpenLDAP Foundation All Rights Reserved.
+.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
 .SH NAME
-ldapmodify, ldapadd \- ldap modify entry and ldap add entry tools
+ldapmodify, ldapadd \- LDAP modify entry and LDAP add entry tools
 .SH SYNOPSIS
 .B ldapmodify
 [\c
 .BR \-a ]
 [\c
-.BR \-b ]
-[\c
 .BR \-c ]
 [\c
-.BR \-r ]
+.BI \-S \ file\fR]
 [\c
 .BR \-n ]
 [\c
 .BR \-v ]
 [\c
-.BR \-k ]
-[\c
-.BR \-M[M] ]
+.BR \-M [ M ]]
 [\c
 .BI \-d \ debuglevel\fR]
 [\c
@@ -28,57 +27,107 @@ ldapmodify, ldapadd \- ldap modify entry and ldap add entry tools
 [\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]
+.BR \-P \ { 2 \||\| 3 }]
+[\c
+.BR \-e \ [ ! ] \fIext\fP [ =\fIextparam\fP ]]
+[\c
+.BR \-E \ [ ! ] \fIext\fP [ =\fIextparam\fP ]]
+[\c
+.BI \-O \ security-properties\fR]
+[\c
+.BR \-I ]
+[\c
+.BR \-Q ]
+[\c
+.BI \-U \ authcid\fR]
+[\c
+.BI \-R \ realm\fR]
+[\c
+.BR \-x ]
+[\c
+.BI \-X \ authzid\fR]
+[\c
+.BI \-Y \ mech\fR]
+[\c
+.BR \-Z [ Z ]]
 [\c
 .BI \-f \ file\fR]
 .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 ]
+.BR \-M [ M ]]
 [\c
 .BI \-d \ debuglevel\fR]
 [\c
 .BI \-D \ binddn\fR]
 [\c
+.BR \-W ]
+[\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
+.BR \-P \ { 2 \||\| 3 }]
+[\c
+.BI \-O \ security-properties\fR]
+[\c
+.BR \-I ]
+[\c
+.BR \-Q ]
+[\c
+.BI \-U \ authcid\fR]
+[\c
+.BI \-R \ realm\fR]
+[\c
+.BR \-x ]
+[\c
+.BI \-X \ authzid\fR]
+[\c
+.BI \-Y \ mech\fR]
+[\c
+.BR \-Z [ Z ]]
+[\c
 .BI \-f \ file\fR]
 .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
 .B ldapadd
-the -a (add new entry) flag is turned on automatically.
+the \fB\-a\fP (add new entry) flag is turned on automatically.
 .LP
 .B ldapmodify
 opens a connection to an LDAP server, binds, and modifies or adds entries.
 The entry information is read from standard input or from \fIfile\fP through
-the use of the -f option.
+the use of the \fB\-f\fP option.
 .SH OPTIONS
 .TP
 .B \-a
@@ -88,45 +137,25 @@ is to modify existing entries.  If 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
 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 \fB\-c\fP.
 .TP
 .B \-n
 Show what would be done, but don't actually modify entries.  Useful for
-debugging in conjunction with -v.
+debugging in conjunction with \fB\-v\fP.
 .TP
 .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
-.I replica:
-(by default, replica: lines are compared against the LDAP server host
-and port in use to decide if a replog record should actually be applied).
-.TP
-.B \-M[M]
+.BR \-M [ M ]
 Enable manage DSA IT control.
 .B \-MM
 makes control critical.
@@ -140,9 +169,12 @@ must be compiled with LDAP_DEBUG defined for this option to have any effect.
 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.
+For SASL binds, the server is expected to ignore this value.
 .TP
 .B \-W
 Prompt for simple authentication.
@@ -151,112 +183,125 @@ This is used instead of specifying the password on the command line.
 .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 \fB\-H\fP.
 .TP
 .BI \-p \ ldapport
 Specify an alternate TCP port where the ldap server is listening.
+Deprecated in favor of \fB\-H\fP.
 .TP
-.BI \-P \ 2\fR\||\|\fI3
+.BR \-P \ { 2 \||\| 3 }
 Specify the LDAP protocol version to use.
-.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),
-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.
-The -F flag can be used to force
-.I ldapmodify
-to apply all of the replog changes, regardless of the presence or
-absence of any "replica:" lines.
-.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)
-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.
-.LP
-Note that the above exceptions to the
-.BR slapd.replog (5)
-format allow
-.BR ldif (5)
-entries to be used as input to
-.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
+.TP
+.BI \-O \ security-properties
+Specify SASL security properties.
+.TP
+.BR \-e \ [ ! ] \fIext\fP [ =\fIextparam\fP ]
+.TP
+.BR \-E \ [ ! ] \fIext\fP [ =\fIextparam\fP ]
+
+Specify general extensions with \fB\-e\fP and modify extensions with \fB\-E\fP.
+\'\fB!\fP\' indicates criticality.
+
+General extensions:
 .nf
-    Distinguished Name (DN)
-    attr=value
-    [attr=value ...]
+  [!]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[=<username>]
+  abandon,cancel,ignore (SIGINT sends abandon/cancel,
+  or ignores response; if critical, doesn't wait for SIGINT.
+  not really controls)
 .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
+
+Modify extensions:
+.nf
+  [!]txn[=abort|commit]
+.fi
+.TP
+.B \-I
+Enable SASL Interactive mode.  Always prompt.  Default is to prompt
+only as needed.
+.TP
+.B \-Q
+Enable SASL Quiet mode.  Never prompt.
+.TP
+.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.
+.I authzid
+must be one of the following formats:
+.BI dn: "<distinguished name>"
+or
+.BI u: <username>
+.TP
+.BI \-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.
+.TP
+.BR \-Z [ Z ]
+Issue StartTLS (Transport Layer Security) extended operation. If you use
+.B \-ZZ\c
+, the command will require the operation to be successful.
+.SH INPUT FORMAT
+The contents of \fIfile\fP (or standard input if no \fB\-f\fP flag is given on
+the command line) must conform to the format defined in
+.BR ldif (5)
+(LDIF as defined in RFC 2849).
 .SH EXAMPLES
 Assuming that the file
 .B /tmp/entrymods
 exists and has the contents:
 .LP
 .nf
-    dn: cn=Modify Me, o=University of Michigan, c=US
+    dn: cn=Modify Me,dc=example,dc=com
     changetype: modify
     replace: mail
-    mail: modme@terminator.rs.itd.umich.edu
-    -
+    mail: modme@example.com
+    \-
     add: title
     title: Grand Poobah
-    -
+    \-
     add: jpegPhoto
-    jpegPhoto: /tmp/modme.jpeg
-    -
+    jpegPhoto:< file:///tmp/modme.jpeg
+    \-
     delete: description
-    -
+    \-
 .fi
 .LP
 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@terminator.rs.itd.umich.edu", 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
@@ -264,42 +309,26 @@ 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, o=University of Michigan, c=US
-    mail=modme@terminator.rs.itd.umich.edu
-    +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, o=University of Michigan, c=US
+    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@terminator.rs.itd.umich.edu
+    mail: bjensen@example.com
     uid: bjensen
+.fi
 .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
@@ -307,23 +336,24 @@ file
 .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, o=University of Michigan, c=US
+    dn: cn=Barbara Jensen,dc=example,dc=com
     changetype: delete
+.fi
 .LP
 the command:
 .LP
 .nf
-    ldapmodify -f /tmp/entrymods
+    ldapmodify \-f /tmp/entrymods
 .fi
 .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),
@@ -331,21 +361,13 @@ status and a diagnostic message being written to standard error.
 .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