跳过导航链接 | |
退出打印视图 | |
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP) Oracle Solaris 10 8/11 Information Library (简体中文) |
4. 网络信息服务 (Network Information Service, NIS)(概述)
11. 为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)
NIS 命名服务由以下元素组成:
域(请参见NIS 域)
守护进程(请参见NIS 守护进程)
实用程序(请参见NIS 实用程序)
映射(请参见NIS 映射)
NIS 命令集合(请参见与 NIS 相关的命令)
NIS 域是共享一组通用 NIS 映射的计算机的集合。每个域都有一个域名,共享这组通用映射的每台计算机都属于该域。
任何计算机都可以属于某个给定域,只要同一网络中存在用于该域映射的服务器即可。NIS 客户机在引导过程中获取域名并绑定到 NIS 服务器。
NIS 服务由五个守护进程提供,如表 4-1 所示。NIS 服务由服务管理工具管理。使用 svcadm 命令可以对此服务执行启用、禁用或重新启动等管理操作。有关 SMF 的概述,请参见《系统管理指南:基本管理》中的第 18 章 "管理服务(概述)"。有关更多详细信息,另请参阅 svcadm(1M) 和 svcs(1) 手册页。
表 4-1 NIS 守护进程
|
注 - rpc.yppasswdd 将所有以 r 开头的 shell 视为受限制的 shell。例如,如果您位于 /bin/rksh 中,将不允许从该 shell 更改到其他 shell 中。如果您有以 r 开头的 shell,但不想受到此类限制,请参阅第 7 章了解解决方法。
NIS 服务由九个实用程序支持,如表 4-2 所示。
表 4-2 NIS 实用程序
|
NIS 映射中的信息以 ndbm 格式存储。ypfiles(4) 和 ndbm(3C) 对映射文件的这一格式进行了说明。
NIS 映射旨在替换 UNIX /etc 文件以及其他配置文件,因此其中除了存储名称和地址外还存储其他大量信息。在运行 NIS 的网络中,每个 NIS 域的 NIS 主服务器会保留一组 NIS 映射,以供域中的其他计算机查询。NIS 从属服务器也会保留主服务器映射的副本。NIS 客户机可从主服务器或从属服务器获取名称空间信息。
NIS 映射实质上是包含两个列的表。一列为关键字,另一列为与该关键字相关的信息。NIS 通过搜索关键字为客户机查找信息。由于每个映射使用不同的关键字,因此有些信息存储在多个映射中。例如,计算机的名称和地址存储在两个映射中:hosts.byname 和 hosts.byaddr。当服务器已知计算机的名称而需要查找其地址时,它将在 hosts.byname 映射中进行查找。当服务器已知计算机的地址而需要查找其名称时,它将在 hosts.byaddr 映射中进行查找。
NIS Makefile 存储在安装时被指定为 NIS 服务器的计算机上的 /var/yp 目录中。在该目录中运行 make 会使 makedbm 根据输入文件创建或修改缺省的 NIS 映射。
注 - 请始终在主服务器上创建映射,因为在从属服务器上创建的映射将不会自动推送到主服务器。
Solaris 系统中提供了一组缺省 NIS 映射。您可能要使用所有这些映射,也可能只使用其中的部分映射。NIS 还可以使用您在安装其他软件产品时创建或添加的任何映射。
NIS 域的缺省映射位于每台服务器的 /var/yp/domainname 目录中。例如,属于域 test.com 的映射位于每台服务器的 /var/yp/test.com 目录中。
表 4-3 介绍了缺省 NIS 映射、其中包含的信息以及 NIS 运行时软件是否查看对应的管理文件。
表 4-3 NIS 映射说明
|
NIS 中添加了新 ipnodes 映射(ipnodes.byaddr 和 ipnodes.byname)。这些映射可同时存储 IPv4 和 IPv6 地址。
注 - 从 Solaris 10 8/07 发行版开始,Solaris OS 不再具有两个单独的 hosts 文件。/etc/inet/hosts 文件是同时包含 IPv4 项和 IPv6 项的单个 hosts 文件。无需在始终要求同步的两个 hosts 文件中维护 IPv4 项。为了向后兼容,/etc/inet/ipnodes 文件被替换为指向 /etc/inet/hosts 文件的同名符号链接。
有关更多信息,请参见 hosts(4) 手册页。
NIS 客户机和服务器可以使用 IPv4 或 IPv6 RPC 传输方式进行通信。
ageing.byname 映射包含一些信息,这些信息供 yppasswdd 在实现 NIS 到 LDAP 的转换时从 DIT 中读取和向其中写入口令生命期信息。如果不使用口令生命期,可以将其从映射文件中注释掉。有关 NIS 到 LDAP 转换的更多信息,请参见第 15 章。
与使用 /etc 文件系统进行更新相比,NIS 可使更新网络数据库变得更加简单。您无需在每次修改网络环境时更改每台计算机中的管理 /etc 文件。
例如,向运行 NIS 的网络中添加新计算机时,只需要更新主服务器中的输入文件并运行 make 即可。这将自动更新 hosts.byname 和 hosts.byaddr 映射。然后,这些映射将传送给所有从属服务器,并可供域中所有客户机及其程序使用。当客户机或应用程序请求计算机名或地址时,NIS 服务器将参阅相应的 hosts.byname 或 hosts.byaddr 映射,并向该客户机发送请求的信息。
您可以使用 ypcat 命令显示映射中的值。ypcat 基本格式为:
% ypcat mapname
其中,mapname 是要查看的映射的名称或其昵称。如果映射仅由关键字组成(如 ypservers),请使用 ypcat -k。否则,ypcat 将列显空白行。ypcat(1) 手册页介绍了 ypcat 的更多选项。
您可以使用 ypwhich 命令来确定哪台服务器是特定映射的主服务器。键入以下命令。
% ypwhich -m mapname
其中,mapname 是要查找其主服务器的映射的名称或昵称。ypwhich 给出的响应是显示主服务器的名称。有关完整信息,请参阅 ypwhich(1) 手册页。
昵称是完整映射名的别名。要获得可用映射昵称(如 passwd.byname 的 passwd)的列表,请键入 ypcat -x 或 ypwhich -x。
昵称存储在 /var/yp/nicknames 文件中,该文件中包含映射昵称,后跟映射的完全指定名称,两者之间以空格分隔。您可以对此列表进行添加或修改。目前,昵称限制在 500 个以内。
NIS 服务包括专用守护进程、系统程序和命令,下表对其进行了汇总。
表 4-4 NIS 命令汇总
|