要使用数据填充 LDAP 服务器, 请在使用正确的 DIT 和架构配置 LDAP 服务器后,使用新的 ldapaddent 工具。此工具将根据 /etc 文件在 LDAP 容器中创建与文件对应的各项。 使用此工具,可以将数据填充到以下数据类型的容器中:aliases、auto_*、bootparams、ethers、group、hosts(包括 IPv6 地址)、netgroup、netmasks、networks、passwd、shadow、protocols、publickey、rpc 和 services。
缺省情况下,ldapaddent 从标准输入中读取数据并将其添加到与命令行中指定的数据库关联的 LDAP 容器中。但是,可以使用 -f 选项来指定应当从其中读取数据的输入文件。
由于项存储在基于客户机配置的目录中,因此必须将客户机配置为使用 LDAP 名称服务。
为了获得更好的性能,请按以下顺序装入数据库:
装入 passwd 数据库后再装入 shadow 数据库
装入 networks 数据库后再装入 netmasks 数据库
装入 bootparams 数据库后再装入 ethers 数据库
请注意,在添加自动挂载程序项时,数据库名称的形式为 auto_*(例如 auto_home)。
如果要添加到 LDAP 服务器中的 /etc 文件来自不同的主机,则可以将这些文件全部合并到同一个 /etc 文件中,然后在一台主机上使用 ldapaddent 来添加这些文件;或者在每台主机都已配置为 LDAP 客户机的前提下,在不同的主机上逐个执行 ldapaddent。
如果名称服务数据已经位于 NIS 服务器中,并且需要将数据移到 LDAP 服务器上以用于 LDAP 名称服务,请使用 ypcat(或 niscat)命令将 NIS 映射转储到文件中。然后,针对这些文件运行 ldapaddent,将数据添加到 LDAP 服务器中。
ldapaddent 只能在 LDAP 客户机上运行。
以下过程假定将要从 yp 客户机提取表。
确保使用 idsconfig 对 Sun Java System Directory Server 进行了设置。
在客户机上,成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 System Administration Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
使计算机成为 LDAP 客户机。
# ldapclient init -a profileName=new -a domainName=west.example.com \ 192.168.0.1 |
使用数据填充服务器。
# ldapaddent -D “cn=directory manager” -f /etc/hosts hosts |
系统将提示您输入口令。
在本示例中,ldapaddent 将使用已经在配置文件 "new" 中配置的验证方法。选择 "simple" 将导致口令以明文形式发送。有关更多信息,请参阅 ldapaddent(1M) 手册页。