mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Add change record format description
This commit is contained in:
parent
8d19d52467
commit
2567e820b7
@ -6,22 +6,25 @@
|
|||||||
ldif \- LDAP Data Interchange Format
|
ldif \- LDAP Data Interchange Format
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
The LDAP Data Interchange Format (LDIF) is used to represent LDAP
|
The LDAP Data Interchange Format (LDIF) is used to represent LDAP
|
||||||
entries in text form. LDAP tools, such as
|
entries and change records in text form. LDAP tools, such as
|
||||||
.BR ldapadd (1)
|
.BR ldapadd (1) and .BR ldapsearch (1), read and write LDIF entry
|
||||||
and
|
records. ldapmodify(1) reads LDIF change records.
|
||||||
.BR ldapsearch (1),
|
|
||||||
read and write LDIF.
|
|
||||||
.LP
|
.LP
|
||||||
The basic form of an LDIF entry is:
|
This manual page provides a basic description of LDIF. A
|
||||||
|
formal specification of LDIF is published in RFC 2849.
|
||||||
|
.SH ENTRY RECORDS
|
||||||
|
.LP
|
||||||
|
LDIF entry records are used to represent directory entries. The basic
|
||||||
|
form of an entry record is:
|
||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
dn: <distinguished name>
|
dn: <distinguished name>
|
||||||
<attrdesc>: <attrvalue>
|
<attrdesc>: <attrvalue>
|
||||||
<attrdesc>: <attrvalue>
|
<attrdesc>: <attrvalue>
|
||||||
<attrdesc>:: <base64-encoded-value>
|
<attrdesc>:: <base64-encoded-value>
|
||||||
<attrdesc>:< <URL>
|
<attrdesc>:< <URL>
|
||||||
...
|
...
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
.LP
|
.LP
|
||||||
@ -33,8 +36,8 @@ or tab, e.g.,
|
|||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
dn: cn=Barbara J Jensen,dc=exam
|
dn: cn=Barbara J Jensen,dc=exam
|
||||||
ple,dc=com
|
ple,dc=com
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
.LP
|
.LP
|
||||||
@ -44,8 +47,8 @@ Multiple attribute values are specified on separate lines, e.g.,
|
|||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
cn: Barbara J Jensen
|
cn: Barbara J Jensen
|
||||||
cn: Babs Jensen
|
cn: Babs Jensen
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
.LP
|
.LP
|
||||||
@ -56,7 +59,7 @@ the value " begins with a space" would be encoded like this:
|
|||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
|
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
.LP
|
.LP
|
||||||
@ -66,54 +69,175 @@ in the file /tmp/value would be listed like this:
|
|||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
cn:< file:///tmp/value
|
cn:< file:///tmp/value
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
Other URI schemes (ftp,http) may be supported as well.
|
Other URI schemes (ftp,http) may be supported as well.
|
||||||
.LP
|
.LP
|
||||||
Multiple entries within the same LDIF file are separated by blank
|
Multiple entries within the same LDIF file are separated by blank
|
||||||
lines.
|
lines.
|
||||||
.SH EXAMPLE
|
.SH ENTRY RECORD EXAMPLE
|
||||||
Here is an example of an LDIF file containing three entries.
|
Here is an example of an LDIF file containing three entries.
|
||||||
.LP
|
.LP
|
||||||
.nf
|
.nf
|
||||||
.ft tt
|
.ft tt
|
||||||
dn: cn=Barbara J Jensen,dc=example,dc=com
|
dn: cn=Barbara J Jensen,dc=example,dc=com
|
||||||
cn: Barbara J Jensen
|
cn: Barbara J Jensen
|
||||||
cn: Babs Jensen
|
cn: Babs Jensen
|
||||||
objectclass: person
|
objectclass: person
|
||||||
description:< file:///tmp/babs
|
description:< file:///tmp/babs
|
||||||
sn: Jensen
|
sn: Jensen
|
||||||
|
|
||||||
dn: cn=Bjorn J Jensen,dc=example,dc=com
|
dn: cn=Bjorn J Jensen,dc=example,dc=com
|
||||||
cn: Bjorn J Jensen
|
cn: Bjorn J Jensen
|
||||||
cn: Bjorn Jensen
|
cn: Bjorn Jensen
|
||||||
objectclass: person
|
objectclass: person
|
||||||
sn: Jensen
|
sn: Jensen
|
||||||
|
|
||||||
dn: cn=Jennifer J Jensen,dc=example,dc=com
|
dn: cn=Jennifer J Jensen,dc=example,dc=com
|
||||||
cn: Jennifer J Jensen
|
cn: Jennifer J Jensen
|
||||||
cn: Jennifer Jensen
|
cn: Jennifer Jensen
|
||||||
objectclass: person
|
objectclass: person
|
||||||
sn: Jensen
|
sn: Jensen
|
||||||
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
|
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
|
||||||
A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
|
A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
|
||||||
ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
|
ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
|
||||||
...
|
...
|
||||||
.ft
|
.ft
|
||||||
.fi
|
.fi
|
||||||
.LP
|
.LP
|
||||||
Notice that the description in Barbara Jensen's entry is
|
Note that the description in Barbara Jensen's entry is
|
||||||
read from file:///tmp/babs and the jpegPhoto in Jennifer
|
read from file:///tmp/babs and the jpegPhoto in Jennifer
|
||||||
Jensen's entry is encoded using base 64.
|
Jensen's entry is encoded using base 64.
|
||||||
|
.SH CHANGE RECORDS
|
||||||
|
LDIF change records are used to represent directory change requests.
|
||||||
|
Each change record starts with line indicating the distinguished
|
||||||
|
name of the entry being changed:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
dn: <distinguishedname>
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
changetype: <[modify|add|delete|modrdn]>
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
Finally, the change information itself is given, the format of which
|
||||||
|
depends on what kind of change was specified above. For a \fIchangetype\fP
|
||||||
|
of \fImodify\fP, the format is one or more of the following:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
add: <attributetype>
|
||||||
|
<attrdesc>: <value1>
|
||||||
|
<attrdesc>: <value2>
|
||||||
|
...
|
||||||
|
-
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
Or, for a replace modification:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
replace: <attributetype>
|
||||||
|
<attrdesc>: <value1>
|
||||||
|
<attrdesc>: <value2>
|
||||||
|
...
|
||||||
|
-
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
If no \fIattributetype\fP lines are given to replace,
|
||||||
|
the entire attribute is to be deleted (if present).
|
||||||
|
.LP
|
||||||
|
Or, for a delete modification:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
delete: <attributetype>
|
||||||
|
<attrdesc>: <value1>
|
||||||
|
<attrdesc>: <value2>
|
||||||
|
...
|
||||||
|
-
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
If no \fIattributetype\fP lines are given to delete,
|
||||||
|
the entire attribute is to be deleted.
|
||||||
|
.LP
|
||||||
|
For a \fIchangetype\fP of \fIadd\fP, the format is:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
<attrdesc1>: <value1>
|
||||||
|
<attrdesc1>: <value2>
|
||||||
|
...
|
||||||
|
<attrdescN>: <value1>
|
||||||
|
<attrdescN>: <value2>
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
For a \fIchangetype\fP of \fImodrdn\fP or \fImoddn\fP,
|
||||||
|
the format is:
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
newrdn: <newrdn>
|
||||||
|
deleteoldrdn: 0 | 1
|
||||||
|
newsuperior: <DN>
|
||||||
|
.fi
|
||||||
|
.LP
|
||||||
|
where a value of 1 for deleteoldrdn means to delete the values
|
||||||
|
forming the old rdn from the entry, and a value of 0 means to
|
||||||
|
leave the values as non-distinguished attributes in the entry.
|
||||||
|
The newsuperior line is optional and, if present, specifies the
|
||||||
|
new superior to move the entry to.
|
||||||
|
.LP
|
||||||
|
For a \fIchangetype\fP of \fIdelete\fP, no additional information
|
||||||
|
is needed in the record.
|
||||||
|
.LP
|
||||||
|
Note that attribute values may be presented using base64 or in
|
||||||
|
files as described for entry records. Lines in change records
|
||||||
|
may be continued in the manner described for entry records as
|
||||||
|
well.
|
||||||
|
.SH CHANGE RECORD EXAMPLE
|
||||||
|
The following sample LDIF file contains a change record
|
||||||
|
of each type of change.
|
||||||
|
.LP
|
||||||
|
.nf
|
||||||
|
dn: cn=Babs Jensen,dc=example,dc=com
|
||||||
|
changetype: add
|
||||||
|
objectclass: person
|
||||||
|
objectclass: extensibleObject
|
||||||
|
cn: babs
|
||||||
|
cn: babs jensen
|
||||||
|
sn: jensen
|
||||||
|
|
||||||
|
dn: cn=Babs Jensen,dc=example,dc=com
|
||||||
|
changetype: modify
|
||||||
|
add: givenName
|
||||||
|
givenName: Barbara
|
||||||
|
givenName: babs
|
||||||
|
-
|
||||||
|
replace: description
|
||||||
|
description: the fabulous babs
|
||||||
|
-
|
||||||
|
delete: sn
|
||||||
|
sn: jensen
|
||||||
|
-
|
||||||
|
|
||||||
|
dn: cn=Babs Jensen,dc=example,dc=com
|
||||||
|
changetype: modrdn
|
||||||
|
newrdn: cn=Barbara J Jensen
|
||||||
|
deleteoldrdn: 0
|
||||||
|
newsuperior: ou=People,dc=example,dc=com
|
||||||
|
|
||||||
|
dn: cn=Barbara J Jensen,ou=People,dc=example,dc=com
|
||||||
|
changetype: delete
|
||||||
|
.fi
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR ldap (3),
|
.BR ldap (3),
|
||||||
.BR ldapsearch (1),
|
.BR ldapsearch (1),
|
||||||
.BR ldapadd (1).
|
.BR ldapadd (1),
|
||||||
|
.BR ldapmodify (1),
|
||||||
|
.BR slapd.replog (5).
|
||||||
.LP
|
.LP
|
||||||
"LDAP Data Interchange Format," Good, G., RFC 2849.
|
"LDAP Data Interchange Format," Good, G., RFC 2849.
|
||||||
.SH ACKNOWLEDGEMENTS
|
.SH ACKNOWLEDGEMENTS
|
||||||
.B OpenLDAP
|
.B OpenLDAP
|
||||||
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
|
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
|
||||||
.B OpenLDAP
|
.B OpenLDAP
|
||||||
is derived from University of Michigan LDAP 3.3 Release.
|
is derived from University of Michigan LDAP 3.3 Release.
|
||||||
|
Loading…
Reference in New Issue
Block a user