LDAP 数据交换格式 (LDIF) 用于以简单的文本格式表示 LDAP 条目。条目的基本形式是
#comment dn: <distinguished name> <attrdesc>: <attrvalue> <attrdesc>: <attrvalue> ... |
以 '#' 字符开头的行是注释。属性描述 (attrdesc) 可以是简单的属性类型,例如 cn 或 objectClass 或 1.2.3 (与属性类型关联的 OID),或者可以包含选项,例如 cn;lang_en_US 或 userCertificate;binary。
可以通过在新行以单个空格或制表符开头来延续一行。例如
dn: cn=Barbara J Jensen, dc=example, dc= com cn: Barbara J Jensen |
等同于
dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen |
多个属性值在单独的行中指定。例如,
cn: Barbara J Jensen cn: Babs Jensen |
如果 <attrvalue> 包含非打印字符或以空格、双冒号 (':') 或小于号 ('<') 开头,则 <attrdesc> 后跟双冒号和值的 base64 编码。例如,值 " begins with a space" 将像这样编码
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= |
您还可以指定包含属性值的 URL。例如,以下指定应从文件 /path/to/file.jpeg 获取 jpegPhoto 值。
cn:< file://path/to/file.jpeg |
同一 LDIF 文件中的多个条目用空行分隔。这是一个包含三个条目的 LDIF 文件示例。
# Barbara's Entry dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen cn: Babs Jensen objectClass: person sn: Jensen # Bjorn's Entry dn: cn=Bjorn J Jensen, dc=example, dc=com cn: Bjorn J Jensen cn: Bjorn Jensen objectClass: person sn: Jensen # Base64 encoded JPEG photo jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG # Jennifer's Entry dn: cn=Jennifer J Jensen, dc=example, dc=com cn: Jennifer J Jensen cn: Jennifer Jensen objectClass: person sn: Jensen # JPEG photo from file jpegPhoto:< file://path/to/file.jpeg |
请注意,Bjorn 条目中的 jpegPhoto 是 base64 编码的,而 Jennifer 条目中的 jpegPhoto 是从 URL 指示的位置获取的。
LDIF 文件中值末尾的空格不会被删除。内部的多个空格也不会被压缩。如果您不希望数据中包含它们,请不要在那里放置它们。