搜索

B.5. 使用 LDIF 定义目录

download PDF
整个目录的内容可以使用 LDIF 来定义。当有很多条目添加到目录中时,使用 LDIF 是一个高效的目录创建方法。
使用 LDIF 创建目录:
  1. 创建包含以 LDIF 格式添加的条目的 ASCII 文件。
    确保每个条目都通过空行与下一个条目分开。在条目之间仅使用一行,并确保文件的第一行不为空,否则 ldapmodify 实用程序将退出。如需更多信息,请参阅 第 B.4 节 “使用 LDIF 指定目录条目”
  2. 使用数据库中的最顶层或 root 条目开始每个文件。
    根条目必须代表数据库中包含的后缀或子修复。例如,如果数据库具有后缀 dc=example,dc=com,则目录中的第一个条目必须是 dn: dc=example,dc=com
    有关后缀的详情,请查看 红帽目录服务器配置、命令和文件参考 中描述的"Suffix"参数。
  3. 确保一个条目代表 LDIF 文件中的分支点,然后再放置在该分支下创建的条目。
    例如,要将条目放在人员和组子树中,请在在这些子树中创建条目前为这些子树创建分支点。
    注意
    LDIF 文件按顺序读取,因此必须在子条目前列出父条目。
  4. 使用以下方法之一从 LDIF 文件创建目录:
    • 通过 Web 控制台初始化数据库。如果存在一个小的数据库要导入(小于 10,000 条目),则使用此方法。请参阅 第 6.1.3 节 “使用 Web 控制台导入数据”
      警告
      这个方法是破坏性的,将擦除后缀中的任何现有数据。
    • ldif2db 或 ldif2db.pl 命令行工具。如果存在要导入的大型数据库(超过 10,000 个条目),则使用此方法。请参阅 第 6.1.2.2 节 “导入服务器为 Offline 的数据”
      • 如果服务器正在运行,则无法使用 ldif2db
      • ldif2db.pl 只能在服务器运行时使用。
      警告
      这个方法是破坏性的,将擦除后缀中的任何现有数据。
    • 带有 -a 参数的 ldapmodify 命令行工具。如果新子树添加到现有数据库,或者后缀中存在不应删除的数据,则使用此方法。与从 LDIF 文件创建目录的其他方法不同,必须在使用 ldapmodify 添加子树前运行目录服务器。请参阅 第 3.1.3 节 “添加条目”

例 B.1. LDIF 文件示例

此 LDIF 文件包含一个域、两个机构单元和三个机构人员条目:
dn: dc=example,dc=com
objectclass: top
objectclass: domain
dc: example
description: Fictional example domain

dn: ou=People,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: People
description: Fictional example organizational unit
tel: 555-5559

dn: cn=June Rossi,ou=People,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: June Rossi
sn: Rossi
givenName: June
mail: rossi@example.com
userPassword: {sha}KDIE3AL9DK
ou: Accounting
ou: people
telephoneNumber: 2616
roomNumber: 220

dn: cn=Marc Chambers,ou=People,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Marc Chambers
sn: Chambers
givenname: Marc
mail: chambers@example.com
userPassword: {sha}jdl2alem87dlacz1
telephoneNumber: 2652
ou: Manufacturing
ou: People
roomNumber: 167

dn: cn=Robert Wong,ou=People,example.com Corp,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Robert Wong
cn: Bob Wong
sn: Wong
givenname: Robert
givenname: Bob
mail: bwong@example.com
userPassword: {sha}nn2msx761
telephoneNumber: 2881
roomNumber: 211
ou: Manufacturing
ou: people

dn: ou=Groups,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: groups
description: Fictional example organizational unit
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.