mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-27 03:20:22 +08:00
375 lines
7.9 KiB
Groff
375 lines
7.9 KiB
Groff
.TH LDAPMODIFY 1 "RELEASEDATE" "OpenLDAP LDVERSION"
|
|
.\" $OpenLDAP$
|
|
.\" 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
|
|
.SH SYNOPSIS
|
|
.B ldapmodify
|
|
[\c
|
|
.BR \-a ]
|
|
[\c
|
|
.BR \-c ]
|
|
[\c
|
|
.BI \-S \ file\fR]
|
|
[\c
|
|
.BR \-n ]
|
|
[\c
|
|
.BR \-v ]
|
|
[\c
|
|
.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
|
|
.BI \-P \ 2\fR\||\|\fI3\fR]
|
|
[\c
|
|
.BR \-O \ security-properties ]
|
|
[\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 \-c ]
|
|
[\c
|
|
.BI \-S \ file\fR]
|
|
[\c
|
|
.BR \-n ]
|
|
[\c
|
|
.BR \-v ]
|
|
[\c
|
|
.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 \ ldaphost\fR]
|
|
[\c
|
|
.BI \-p \ ldapport\fR]
|
|
[\c
|
|
.BI \-P \ 2\fR\||\|\fI3\fR]
|
|
[\c
|
|
.BR \-O \ security-properties ]
|
|
[\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_add_ext (3),
|
|
.BR ldap_modify_ext (3),
|
|
.BR ldap_delete_ext (3)
|
|
and
|
|
.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.
|
|
.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.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-a
|
|
Add new entries. The default for
|
|
.B ldapmodify
|
|
is to modify existing entries. If invoked as
|
|
.BR ldapadd ,
|
|
this flag is always set.
|
|
.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
|
|
.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
|
|
debugging in conjunction with -v.
|
|
.TP
|
|
.B \-v
|
|
Use verbose mode, with many diagnostics written to standard output.
|
|
.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]
|
|
Enable manage DSA IT control.
|
|
.B \-MM
|
|
makes control critical.
|
|
.TP
|
|
.BI \-d \ debuglevel
|
|
Set the LDAP debugging level to \fIdebuglevel\fP.
|
|
.B ldapmodify
|
|
must be compiled with LDAP_DEBUG defined for this option to have any effect.
|
|
.TP
|
|
.BI \-f \ file
|
|
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 the Distinguished Name \fIbinddn\fP to bind to the LDAP directory.
|
|
.TP
|
|
.B \-W
|
|
Prompt for simple authentication.
|
|
This is used instead of specifying the password on the command line.
|
|
.TP
|
|
.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
|
|
.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 \-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:
|
|
.B dn:\c
|
|
.I <distinguished name>
|
|
or
|
|
.B u:\c
|
|
.I <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
|
|
.B \-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 \-f flag is given on
|
|
the command line) should conform to the format defined in
|
|
.BR ldif (1)
|
|
(LDIF as defined RFC 2849), or
|
|
.BR slapd.replog (5)
|
|
(an extended form of LDIF)
|
|
with the exceptions noted below.
|
|
.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 ldapadd)
|
|
and "modify" otherwise.
|
|
.LP
|
|
If changetype is "modify" and no "add:", "replace:", or "delete:" lines
|
|
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)
|
|
format allow
|
|
.BR ldif (5)
|
|
entries to be used as input to
|
|
.I ldapmodify
|
|
or
|
|
.I ldapadd.
|
|
.SH EXAMPLES
|
|
Assuming that the file
|
|
.B /tmp/entrymods
|
|
exists and has the contents:
|
|
.LP
|
|
.nf
|
|
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
|
|
-
|
|
.fi
|
|
.LP
|
|
the command:
|
|
.LP
|
|
.nf
|
|
ldapmodify -f /tmp/entrymods
|
|
.fi
|
|
.LP
|
|
will replace the contents of the "Modify Me" entry's
|
|
.I mail
|
|
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
|
|
.IR jpegPhoto ,
|
|
and completely remove the
|
|
.I description
|
|
attribute.
|
|
.LP
|
|
Assuming that the file
|
|
.B /tmp/newentry
|
|
exists and has the contents:
|
|
.LP
|
|
.nf
|
|
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
|
|
.LP
|
|
the command:
|
|
.LP
|
|
.nf
|
|
ldapadd -f /tmp/newentry
|
|
.fi
|
|
.LP
|
|
will add a new entry for Babs Jensen, using the values from the
|
|
file
|
|
.B /tmp/newentry.
|
|
.LP
|
|
Assuming that the file
|
|
.B /tmp/entrymods
|
|
exists and has the contents:
|
|
.LP
|
|
.nf
|
|
dn: cn=Barbara Jensen,dc=example,dc=com
|
|
changetype: delete
|
|
.LP
|
|
the command:
|
|
.LP
|
|
.nf
|
|
ldapmodify -f /tmp/entrymods
|
|
.fi
|
|
.LP
|
|
will remove Babs Jensen's entry.
|
|
.SH 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.
|
|
.SH "SEE ALSO"
|
|
.BR ldapadd (1),
|
|
.BR ldapdelete (1),
|
|
.BR ldapmodrdn (1),
|
|
.BR ldapsearch (1),
|
|
.BR ldap.conf (5),
|
|
.BR ldap (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)
|
|
.SH AUTHOR
|
|
The OpenLDAP Project <http://www.openldap.org/>
|
|
.SH ACKNOWLEDGEMENTS
|
|
.so ../Project
|