跳过导航链接 | |
退出打印视图 | |
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP) Oracle Solaris 10 8/11 Information Library (简体中文) |
4. 网络信息服务 (Network Information Service, NIS)(概述)
11. 为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)
使用 Sun Java System Directory Server 进行 NIS 到 LDAP 转换的最佳做法
使用 Sun Java System Directory Server 创建虚拟列表视图索引
N2L 服务支持 Oracle Corporation 提供的 Sun Java System Directory Server(以前称为 Sun ONE Directory Server)和兼容版本的目录服务器。其他(第三方)LDAP 服务器可能会使用 N2L 服务,但是 Oracle 不支持这些服务器。如果使用的是 Sun Java System Directory Server 或兼容 Oracle 服务器以外的 LDAP 服务器,您必须手动配置服务器,使其支持 RFC 2307 或其后续版本中的架构。
如果使用的是 Sun Java System Directory Server,则可以增强目录服务器以提高性能。必须对 Sun Java System Directory Server 具有 LDAP 管理员权限才能增强目录服务器。另外,目录服务器可能需要重新引导,此任务必须与服务器的 LDAP 客户机协调进行。Sun Java System Directory Server(以及 Sun ONE 和 iPlanet Directory Server)文档可从 Sun Java System Directory Server Enterprise Edition 6.2 网站获得。
对于大型映射,必须使用 LDAP 虚拟列表视图 (virtual list view, VLV) 索引来确保 LDAP 搜索可返回全部结果。要了解关于在 Sun Java System Directory Server 上设置 VLV 索引的信息,请参见 Sun Java System Directory Server Enterprise Edition 6.2 文档。
VLV 搜索结果使用固定的页面大小 50000。如果在 Sun Java System Directory Server 上使用 VLV,则 LDAP 服务器和 N2L 服务器都必须可以传送此大小的页面。如果已知所有的映射都小于此限制,则不必使用 VLV 索引。但是,如果使用的映射大于此大小限制,或者不能确定所有映射的大小,请使用 VLV 索引,以避免返回的结果不完整。
如果您使用 VLV 索引,请按如下方式设置适当的大小限制。
在 Sun Java System Directory Server 上:必须将 nsslapd-sizelimit 属性设置为大于等于 50000 或 -1。请参见 idsconfig(1M) 手册页。
在 N2L 服务器上:必须将 nisLDAPsearchSizelimit 属性设置为大于等于 50000 或零。有关更多信息,请参见 NISLDAPmapping(4) 手册页。
创建 VLV 索引之后,请立即将其激活,方法是在 Sun Java System Directory Server 上运行带有 vlvindex 选项的 directoryserver 。有关更多信息,请参见 directoryserver(1M) 手册页。
如果符合以下条件,可以使用 Sun Java System Directory Server 的 idsconfig 命令设置 VLV:
正在使用 Sun Java System Directory Server。
要将标准映射映射到 RFC 2307 LDAP 项。
VLV 特定于域,因此每次运行 idsconfig 时,都会为一个 NIS 域创建相应的 VLV。所以,在 NIS 到 LDAP 的转换过程中,必须对 NISLDAPmapping 文件中包含的每个 nisLDAPdomainContext 属性都运行一次 idsconfig。
如果符合以下条件,则必须为映射手动创建新的 Sun Java System Directory Server VLV,或者复制并修改现有的 VLV 索引:
正在使用 Sun Java System Directory Server。
具有大型定制映射,或者具有映射到非标准 DIT 位置的标准映射。
要查看现有的 VLV 索引,请键入以下命令:
# ldapsearch -h hostname -s sub -b "cn=ldbm database,cn=plugins,cn=config" \ "objectClass=vlvSearch"
N2L 服务器在刷新映射时,可能会对 LDAP 目录进行大量访问。如果 Sun Java System Directory Server 的配置不正确,刷新操作可能会因超时而无法完成。要避免目录服务器超时,请手动或者通过运行 idsconfig命令修改以下 Sun Java System Directory Server 属性。
例如,要增加服务器执行搜索请求所需的最短时间(以秒为单位),请修改以下属性:
dn: cn=config nsslapd-timelimit: -1
出于测试的目的,您可以使用属性值 -1,该值表示没有限制。确定最佳限制值之后,请更改属性值。请勿在生产服务器上保留任何值为 -1 的属性设置。在没有限制的情况下,服务器可能容易受到拒绝服务攻击。
有关为使用 LDAP 配置 Sun Java System Directory Server 的详细信息,请参见本书的第 11 章。
要避免缓冲区溢出,请手动或者通过运行 idsconfig 命令修改 Sun Java System Directory Server 属性。
例如,要增加针对客户机搜索查询返回的最大项数,请修改以下属性:
dn: cn=config nsslapd-sizelimit: -1
要增加针对客户机搜索查询检验的最大项数,请修改以下属性:
dn: cn=config, cn=ldbm database, cn=plugins, cn=config nsslapd-lookthroughlimit: -1
出于测试的目的,您可以使用属性值 -1,该值表示没有限制。确定最佳限制值之后,请更改属性值。请勿在生产服务器上保留任何值为 -1 的属性设置。在没有限制的情况下,服务器可能容易受到拒绝服务攻击。
如果使用 VLV,则应当按照使用 Sun Java System Directory Server 创建虚拟列表视图索引中的定义设置 sizelimit 属性值。如果未使用 VLV,则应当将大小限制设置得足够大,以便可以容纳最大的容器。
有关为使用 LDAP 配置 Sun Java System Directory Server 的详细信息,请参见第 11 章。