NIS 到 LDAP 转换服务(N2L 服务)使用 NIS 到 LDAP 转换守护进程来替换 NIS 主服务器上现有的 NIS 守护进程。N2L 服务还在该服务器上创建一个 NIS 到 LDAP 的转换映射文件。该映射文件指定 NIS 映射项和 LDAP 中目录信息树 (Directory Information Tree, DIT) 等效项之间的映射。已经进行这种转换的 NIS 主服务器称为 N2L 服务器。从属服务器上没有 NISLDAPmapping 文件,因此它们继续以通常的方式工作。从属服务器定期从 N2L 服务器更新其数据,就好像 N2L 服务器是常规的 NIS 主服务器一样。
N2L 服务的行为由 ypserv 和 NISLDAPmapping 配置文件控制。脚本 inityp2l 可帮助对这些配置文件进行初始设置。一旦建立了 N2L 服务器,就可以通过直接编辑这些配置文件来维护 N2L。
将 NIS 映射导入到 LDAP 目录信息树 (Directory Information Tree, DIT) 中
客户机借助于 NIS 的速度和可扩展性访问 DIT 信息
在任何名称系统中,仅有一个信息源可以是权威来源。在传统的 NIS 中,NIS 源是权威信息。在使用 N2L 服务时,权威数据源自 LDAP 目录。如第 9 章,LDAP 的基本组件和概念(概述)中所述,该目录是通过使用目录管理工具进行管理的。
NIS 源仅保留用于紧急备份或卸载。在使用 N2L 服务之后,可以逐步淘汰 NIS 客户机。最终,所有的 NIS 客户机都会被 Solaris LDAP 名称服务客户机所取代。
以下各小节中提供了其他概述信息:
NIS 和 LDAP 服务由服务管理工具管理。 可以使用 svcadm 命令对这些服务执行启用、禁用或重新启动等管理操作。使用 svcs 命令可以查询服务的状态。有关使用 SMF 对 LDAP 和 NIS 进行管理的更多信息,请参见LDAP 和服务管理工具和NIS 和服务管理工具。有关 SMF 的概述,请参阅System Administration Guide: Basic Administration中的“ Managing Services (Overview)”。另请参阅 svcadm(1M) 和 svcs(1) 手册页以了解更多详细信息。
您需要熟悉 NIS 和 LDAP 概念、术语和 ID 才能执行本章中的过程。有关 NIS 和 LDAP 名称服务的更多信息,请参见本书中的以下两章:
第 4 章,网络信息服务 (Network Information Service, NIS)(概述)(提供 NIS 的概述)
第 8 章,LDAP 名称服务介绍(概述/参考)(提供 LDAP 的概述)
不打算在 NIS 客户机和 LDAP 名称服务客户机之间共享数据。
在这种情况下,N2L 服务器将充当极其复杂的 NIS 主服务器。
NIS 映射由修改 NIS 源文件的工具(而非 yppasswd)来管理。
从 DIT 映射重新生成 NIS 源是一项不精确的任务,该任务需要手动检查生成的映射。一旦使用了 N2L 服务,提供的 NIS 源的重新生成功能就仅用于卸载 NIS 或恢复为 NIS。
没有 NIS 客户机
在这种情况下,可以使用 Solaris LDAP 名称服务客户机及其相应工具。
仅安装与 N2L 服务相关的文件不会更改 NIS 服务器的缺省行为。在安装时,管理员将会看到 NIS 手册页发生了一些变化,而且服务器上增加了 N2L 帮助脚本 inityp2l 和 ypmap2src。但是,只要在 NIS 服务器上没有运行 inityp2l 或没有手动创建 N2L 配置文件,NIS 组件就会继续在传统的 NIS 模式下启动并像通常那样工作。
运行 inityp2l 之后,用户会看到服务器和客户机行为发生了一些变化。以下是 NIS 和 LDAP 用户类型的列表,其中说明了在部署 N2L 服务之后每种类型的用户应当注意到的情况。
用户类型 |
N2L 服务的影响 |
---|---|
NIS 主服务器管理员 |
NIS 主服务器转换为 N2L 服务器。NISLDAPmapping 和 ypserv 配置文件将会安装在 N2L 服务器上。建立 N2L 服务器之后,可以使用 LDAP 命令来管理名称信息。 |
NIS 从属服务器管理员 |
进行 N2L 转换之后,NIS 从属服务器继续以通常的方式运行 NIS。当 ypmake 调用 yppush 时,N2L 服务器会将已更新的 NIS 映射推送到从属服务器。请参见 ypmake(1M) 手册页。 |
NIS 客户机 |
NIS 读取操作与传统的 NIS 没有区别。当 Solaris LDAP 名称服务客户机更改 DIT 中的信息时,这些信息会复制到 NIS 映射中。复制操作是在可配置的超时时间过期之后完成的。这类行为与连接到 NIS 从属服务器的常规 NIS 客户机的行为相似。 如果 N2L 服务器无法绑定到 LDAP 服务器进行读取,则 N2L 服务器将从其自身的缓存副本中返回信息。或者,N2L 服务器还可能会返回内部服务器错误。可以将 N2L 服务器配置为按照上述任一方式响应。有关更多详细信息,请参见 ypserv(1M) 手册页。 |
所有用户 |
当 NIS 客户机请求更改口令时,所做的更改将立即显示在 N2L 主服务器和本地 LDAP 客户机上。 如果尝试在 NIS 客户机上更改口令,而且 LDAP 服务器不可用,则更改将被拒绝,N2L 服务器将返回内部服务器错误。此行为可防止将不正确的信息写入高速缓存中。 |
以下是与实现 N2L 服务相关的术语。
表 15–1 与 N2L 转换相关的术语
术语 |
说明 |
---|---|
N2L configuration file(N2L 配置文件) |
ypserv 守护进程用来在 N2L 模式下启动主服务器的 /var/yp/NISLDAPmapping 文件和 /var/yp/ypserv 文件。有关详细消息,请参见 NISLDAPmapping(4) 和 ypserv(4) 手册页。 |
map(映射) |
|
mapping(映射) |
NIS 项与 LDAP DIT 项之间的相互转换过程。 |
mapping file(映射文件) |
用来指定如何映射 NIS 文件和 LDAP 文件之间各项的 NISLDAPmapping 文件。 |
standard map(标准映射) |
无需手动修改映射文件即可由 N2L 服务支持的常用 NIS 映射。支持的标准映射中提供了支持的标准映射的列表。 |
nonstandard map(非标准映射) |
自定义为使用 NIS 和 LDAP DIT 之间映射(RFC 2307 或其后续版本中标识的映射除外)的标准 NIS 映射。 |
custom map(自定义映射) |
不是标准映射的任何映射,从 NIS 转换至 LDAP 时,需要手动修改映射文件。 |
LDAP client(LDAP 客户机) |
对任何 LDAP 服务器执行读写操作的任何传统的 LDAP 客户机。传统的 LDAP 客户机是对任何 LDAP 服务器执行读写操作的系统。Solaris LDAP 名称服务客户机可处理部分自定义的名称信息。 |
LDAP naming services client(LDAP 名称服务客户机) |
用来处理部分自定义名称信息的 Solaris LDAP 客户机。 |
N2L server(N2L 服务器) |
已使用 N2L 服务重新配置为 N2L 服务器的 NIS 主服务器。重新配置过程包括替换 NIS 守护进程和添加新配置文件。 |
共有两个实用程序、两个配置文件和一个映射与 N2L 转换相关联。
表 15–2 N2L 命令、文件和映射的说明
命令/文件/映射 |
说明 |
---|---|
/usr/lib/netsvc/yp/inityp2l |
帮助创建 NISLDAPmapping 和 ypserv 配置文件的实用程序。此实用程序不是用来管理这些文件的通用工具。高级用户可通过使用文本编辑器检查和自定义 inityp2l 输出来维护 N2L 配置文件或创建自定义映射。请参见 inityp2l(1M) 手册页。 |
/usr/lib/netsvc/yp/ypmap2src |
用来将标准 NIS 映射转换为近似等效的 NIS 源文件的实用程序。ypmap2src 主要用于将 N2L 转换服务器转换为传统的 NIS。请参见 ypmap2src(1M) 手册页。 |
/var/yp/NISLDAPmapping |
用来指定 NIS 映射项和 LDAP 中目录信息树 (Directory Information Tree, DIT) 等效项之间映射的配置文件。请参见 NISLDAPmapping(4) 手册页。 |
/var/yp/ypserv |
用来为 NIS 到 LDAP 转换守护进程指定配置信息的文件。请参见 ypserv(4) 手册页。 |
ageing.byname |
yppasswdd 使用的一种映射,在实现 NIS 到 LDAP 转换时,用于在 DIT 中读写口令生命期信息。 |
缺省情况下,N2L 服务支持以下列出的映射与 RFC 2307 或其后续版本中 LDAP 各项之间的映射。这些标准映射不需要手动修改映射文件。系统上任何未列在以下列表中的映射都被视为自定义映射,需要手动进行修改。
N2L 服务还支持对 auto.* 映射进行自动映射。但是,由于大多数 auto.* 文件名和内容都特定于各自的网络配置,因此该列表并未指定这些文件,但作为标准映射支持的 auto.home 和 auto.master 映射除外。
audit_user auth_attr auto.home auto.master bootparams ethers.byaddr ethers.byname exec_attr group.bygid group.byname group.adjunct.byname hosts.byaddr hosts.byname ipnodes.byaddr ipnodes.byname mail.byaddr mail.aliases netgroup netgroup.byprojid netgroup.byuser netgroup.byhost netid.byname netmasks.byaddr networks.byaddr networks.byname passwd.byname passwd.byuid passwd.adjunct.byname printers.conf.byname prof_attr project.byname project.byprojectid protocols.byname protocols.bynumber publickey.byname rpc.bynumber services.byname services.byservicename timezone.byname user_attr |
在 NIS 到 LDAP 转换过程中,yppasswdd 守护进程使用 N2L 特定的映射 ageing.byname 在 DIT 中读写口令生命期信息。如果没有使用口令生命期,则会忽略 ageing.byname 映射。