B.4. 使用 LDIF 指定目录条目

很多类型的条目可以存储在目录中。本节侧重于一个目录中使用的三种最常见的条目:域、组织单元和机构人员条目。
为条目定义的对象类代表条目是否代表域或域组件、组织单元、机构人员或其他类型的条目。有关目录中默认可以使用的对象类的完整列表,以及最常用的属性列表,请参阅 红帽目录服务器 11 配置、命令和文件参考

B.4.1. 指定域条目

目录通常至少有一个域条目。通常这是目录中的第一个或最顶层的条目。域条目通常与目录的 DNS 主机和域名对应。例如,如果目录服务器主机名为 ldap.example.com,则目录的域条目可能命名为 dc=ldap,dc=example,dc=com,或者只是 dc=example,dc=com
用于定义域的 LDIF 条目如下所示:
dn: distinguished_name 
objectClass: top
objectClass: domain
dc: domain_component_name
 list_of_optional_attributes 
...
以下是 LDIF 格式的域条目示例:
dn: dc=example,dc=com
objectclass: top
objectclass: domain
dc: example
description: Fictional example company
LDIF 格式的域条目的每个元素都在 表 B.2 “域条目中的 LDIF 元素” 中定义。

表 B.2. 域条目中的 LDIF 元素

LDIF Element 描述
dn: distinguished_name 必需。指定条目的可分辨名称。
objectClass: top 必需。指定 顶级 对象类。
objectClass: domain 指定 对象类。此行将条目定义为域或域组件。有关可与这个对象类一起使用的属性列表,请参阅 Red Hat Directory Server 11 Configuration, Command, and File Reference。-->
dc: domain_component 指定域名的属性。服务器通常在初始设置过程中配置,并以 dc=hostname,dc=domain,dc=toplevel 的形式具有后缀或命名上下文。例如,dc=ldap,dc=example,dc=com。域条目应使用最旧的 dc 值,如 dc: ldap。如果后缀是 dc=example,dc=com,则 dc 值为 dc: example。除非服务器已配置为使用该后缀,否则不要为 dn: dc=com 创建条目。
list_of_attributes 指定要为该条目维护的可选属性列表。有关可用于此对象类 的属性列表,请参阅 Red Hat Directory Server 11 配置、命令和文件参考

B.4.2. 指定机构单元条目

机构单元条目通常用于表示目录树中的主要分支点或子目录。它们与企业内的主要、合理静态实体对应,如包含人员或包含组的子树的子树。
包含在该条目中的组织单元属性也可能代表了公司内的主要机构,如市场或工程。但是,不建议使用这个风格。红帽强烈建议使用扁平目录树。
通常,在目录树中通常会有多个机构单元或分支点。
定义机构单元条目的 LDIF 必须如下所示:
dn: distinguished_name 
objectClass: top
objectClass: organizationalUnit
ou: organizational_unit_name
 list_of_optional_attributes 
...
以下是 LDIF 格式的机构单元条目示例:
dn: ou=people,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: people
description: Fictional example organizational unit
表 B.3 “机构单元条目中的 LDIF 元素” 定义 LDIF 格式的组织单元条目的每个元素。

表 B.3. 机构单元条目中的 LDIF 元素

LDIF Element 描述
dn: distinguished_name 指定条目的可分辨名称。需要 DN。如果 DN 中有一个逗号,则必须使用反斜杠(\)转义逗号,如 dn: ou=body,dc=example,dc=com
objectClass: top 必需。指定 顶级 对象类。
objectClass: organizationalUnit 指定 organizationalUnit 对象类。此行将条目定义为 组织单元。有关此对象类可用属性的列表,请参阅 Red Hat Directory Server 11 Configuration, Command, and File Reference
ou: organizational_unit_name 指定机构单元名称的属性。
list_of_attributes 指定要为该条目维护的可选属性列表。有关此对象类可用属性的列表,请参阅 Red Hat Directory Server 11 Configuration, Command, and File Reference

B.4.3. 指定机构人条目

目录中的大多数条目代表组织人员。
在 LDIF 中,组织人员的定义如下:
dn: distinguished_name 
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: common_name 
sn: surname
 list_of_optional_attributes
以下是 LDIF 格式的机构人员条目示例:
dn: uid=bjensen,ou=people,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Babs Jensen
sn: Jensen
givenname: Babs
uid: bjensen
ou: people
description: Fictional example person
telephoneNumber: 555-5557
userPassword: {SSHA}dkfljlk34r2kljdsfk9
表 B.4 “Person 条目中的 LDIF 元素” 定义 LDIF 人员条目的每个方面。

表 B.4. Person 条目中的 LDIF 元素

LDIF Element 描述
dn: distinguished_name 必需。指定条目的可分辨名称。例如,dn: uid=bjensen,ou=body,dc=example,dc=com。如果 DN 中有一个逗号,则必须使用反斜杠(\)转义逗号。
objectClass: top 必需。指定 顶级 对象类。
objectClass: person 指定 person 对象类。应包含此对象类规格,因为许多 LDAP 客户端在搜索个人或机构人员时需要它。
objectClass: organizationalPerson 指定 organizationalPerson 对象类。应包含此对象类规格,因为有些 LDAP 客户端在搜索机构人员期间需要它。
objectClass: inetOrgPerson 指定 inetOrgPerson 对象类。建议 inetOrgPerson 对象类创建机构人员条目,因为此对象类包含广泛的属性范围。此对象类需要 uid 属性,并且包含此对象类的条目会根据 uid 属性的值命名。有关此对象类可用属性的列表,请参阅 Red Hat Directory Server 11 Configuration, Command, and File Reference
cn: common_name 指定个人的通用名称,这是个人常用的全名。例如: cn: Bill Anderson。至少需要一个通用名称。
sn: surname 指定个人的姓氏或姓氏。例如,s n: Anderson。需要 surname。
list_of_attributes 指定要为该条目维护的可选属性列表。有关此对象类可用属性的列表,请参阅 Red Hat Directory Server 11 Configuration, Command, and File Reference