JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP)     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分关于命名和目录服务

1.  命名和目录服务(概述)

2.  名称服务转换器(概述)

第 2 部分DNS 设置和管理

3.  DNS 设置和管理(参考)

第 3 部分NIS 设置和管理

4.  网络信息服务 (Network Information Service, NIS)(概述)

NIS 介绍

NIS 体系结构

NIS 计算机类型

NIS 服务器

NIS 客户机

NIS 元素

NIS 域

NIS 守护进程

NIS 实用程序

NIS 映射

缺省 NIS 映射

使用 NIS 映射

NIS 映射昵称

与 NIS 相关的命令

NIS 绑定

服务器列表模式

广播模式

5.  设置和配置 NIS 服务

6.  管理 NIS(任务)

7.  NIS 疑难解答

第 4 部分LDAP 命名服务的设置和管理

8.  LDAP 命名服务介绍(概述/参考)

9.  LDAP 基本组件和概念(概述)

10.  LDAP 命名服务的规划要求(任务)

11.  为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)

12.  设置 LDAP 客户机(任务)

13.  LDAP 疑难解答(参考)

14.  LDAP 一般参考(参考)

15.  从 NIS 转换为 LDAP(概述/任务)

16.  从 NIS+ 转换为 LDAP

A.  Solaris 10 软件中对 DNS、NIS 和 LDAP 的更新

服务管理工具的更改

DNS BIND

pam_ldap 更改

文档错误

词汇表

索引

NIS 元素

NIS 命名服务由以下元素组成:

NIS 域

NIS 是共享一组通用 NIS 映射的计算机的集合。每个域都有一个域名,共享这组通用映射的每台计算机都属于该域。

任何计算机都可以属于某个给定域,只要同一网络中存在用于该域映射的服务器即可。NIS 客户机在引导过程中获取域名并绑定到 NIS 服务器。

NIS 守护进程

NIS 服务由五个守护进程提供,如表 4-1 所示。NIS 服务由服务管理工具管理。使用 svcadm 命令可以对此服务执行启用、禁用或重新启动等管理操作。有关 SMF 的概述,请参见《系统管理指南:基本管理》中的第 18  章 "管理服务(概述)"。有关更多详细信息,另请参阅 svcadm(1M)svcs(1) 手册页。

表 4-1 NIS 守护进程

守护进程
功能
ypserv
服务器进程
ypbind
绑定进程
ypxfrd
高速映射传送
rpc.yppasswdd
NIS 口令更新守护进程

**请参见下面的“注”。**

rpc.ypupdated
修改其他映射,如 publickey

注 - rpc.yppasswdd 将所有以 r 开头的 shell 视为受限制的 shell。例如,如果您位于 /bin/rksh 中,将不允许从该 shell 更改到其他 shell 中。如果您有以 r 开头的 shell,但不想受到此类限制,请参阅第 7 章了解解决方法。


NIS 实用程序

NIS 服务由九个实用程序支持,如表 4-2 所示。

表 4-2 NIS 实用程序

实用程序
功能
makedbm
为 NIS 映射创建 dbm 文件
ypcat
列出映射中的数据
ypinit
生成并安装 NIS 数据库并初始化 NIS 客户机的 ypservers 列表。
ypmatch
查找映射中的特定项
yppoll
从服务器中获取映射顺序编号
yppush
从 NIS 主服务器向 NIS 从属服务器传播数据
ypset
设置到特定服务器的绑定
ypwhich
列出 NIS 服务器的名称以及昵称转换表
ypxfr
从主 NIS 服务器向从属 NIS 服务器传送数据

NIS 映射

NIS 映射中的信息以 ndbm 格式存储。ypfiles(4)ndbm(3C) 对映射文件的这一格式进行了说明。

NIS 映射旨在替换 UNIX /etc 文件以及其他配置文件,因此其中除了存储名称和地址外还存储其他大量信息。在运行 NIS 的网络中,每个 NIS 域的 NIS 主服务器会保留一组 NIS 映射,以供域中的其他计算机查询。NIS 从属服务器也会保留主服务器映射的副本。NIS 客户机可从主服务器或从属服务器获取名称空间信息。

NIS 映射实质上是包含两个列的表。一列为关键字,另一列为与该关键字相关的信息。NIS 通过搜索关键字为客户机查找信息。由于每个映射使用不同的关键字,因此有些信息存储在多个映射中。例如,计算机的名称和地址存储在两个映射中:hosts.bynamehosts.byaddr。当服务器已知计算机的名称而需要查找其地址时,它将在 hosts.byname 映射中进行查找。当服务器已知计算机的地址而需要查找其名称时,它将在 hosts.byaddr 映射中进行查找。

NIS Makefile 存储在安装时被指定为 NIS 服务器的计算机上的 /var/yp 目录中。在该目录中运行 make 会使 makedbm 根据输入文件创建或修改缺省的 NIS 映射。


注 - 请始终在主服务器上创建映射,因为在从属服务器上创建的映射将不会自动推送到主服务器。


缺省 NIS 映射

Solaris 系统中提供了一组缺省 NIS 映射。您可能要使用所有这些映射,也可能只使用其中的部分映射。NIS 还可以使用您在安装其他软件产品时创建或添加的任何映射。

NIS 域的缺省映射位于每台服务器的 /var/yp/domainname 目录中。例如,属于域 test.com 的映射位于每台服务器的 /var/yp/test.com 目录中。

表 4-3 介绍了缺省 NIS 映射、其中包含的信息以及 NIS 运行时软件是否查看对应的管理文件。

表 4-3 NIS 映射说明

映射名
对应的 NIS 管理文件
说明
audit_user
audit_user
包含用户审计预选数据。
auth_attr
auth_attr
包含授权名称和说明。
bootparams
bootparams
包含客户机在引导期间所需文件的路径名:root、swap,也可能是其他名称。
ethers.byaddr
ethers
包含计算机名和以太网地址。以太网地址是映射中的关键字。
ethers.byname
ethers
ethers.byaddr 相同,但关键字是计算机名而非以太网地址。
exec_attr
exec_attr
包含配置文件执行属性。
group.bygid
group
包含以组 ID 作为关键字的组安全信息。
group.byname
group
包含以组名作为关键字的组安全信息。
hosts.byaddr
hosts
包含计算机名和 IP 地址,以 IP 地址作为关键字。
hosts.byname
hosts
包含计算机名和 IP 地址,以计算机(主机)名作为关键字。
mail.aliases
aliases
包含别名和邮件地址,以别名作为关键字。
mail.byaddr
aliases
包含邮件地址和别名,以邮件地址作为关键字。
netgroup.byhost
netgroup
包含组名、用户名和计算机名。
netgroup.byuser
netgroup
netgroup.byhost 相同,但关键字为用户名。
netgroup
netgroup
netgroup.byhost 相同,但关键字为组名。
netid.byname
passwd, hosts

group

用于 UNIX 形式的验证。包含计算机名和邮件地址(包括域名)。如果存在可用的 netid 文件,则除了查询通过其他文件提供的数据外,还会查询该文件。
netmasks.byaddr
netmasks
包含要与 IP 一起提交的网络掩码,以地址作为关键字。
networks.byaddr
networks
包含系统已知的网络的名称及其 IP 地址,以地址作为关键字。
networks.byname
networks
networks.byaddr 相同,但关键字为网络的名称。
passwd.adjunct.byname
passwdshadow
包含 C2 客户机的审计信息和隐藏的口令信息。
passwd.byname
passwdshadow
包含以用户名作为关键字的口令信息。
passwd.byuid
passwdshadow
passwd.byname 相同,但关键字为用户 ID。
prof_attr
prof_attr
包含执行配置文件的属性。
protocols.byname
protocols
包含网络可识别的网络协议。
protocols.bynumber
protocols
protocols.byname 相同,但关键字为协议编号。
rpc.bynumber
rpc
包含系统可识别的 RPC 的程序编号和名称。关键字为 RPC 程序编号。
services.byname
services
列出网络可识别的 Internet 服务。关键字为端口或协议。
services.byservice
services
列出网络可识别的 Internet 服务。关键字为服务名。
user_attr
user_attr
包含用户和角色的扩展属性。
ypservers
N/A
列出网络可识别的 NIS 服务器。

NIS 中添加了新 ipnodes 映射(ipnodes.byaddripnodes.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 章

使用 NIS 映射

与使用 /etc 文件系统进行更新相比,NIS 可使更新网络数据库变得更加简单。您无需在每次修改网络环境时更改每台计算机中的管理 /etc 文件。

例如,向运行 NIS 的网络中添加新计算机时,只需要更新主服务器中的输入文件并运行 make 即可。这将自动更新 hosts.bynamehosts.byaddr 映射。然后,这些映射将传送给所有从属服务器,并可供域中所有客户机及其程序使用。当客户机或应用程序请求计算机名或地址时,NIS 服务器将参阅相应的 hosts.bynamehosts.byaddr 映射,并向该客户机发送请求的信息。

您可以使用 ypcat 命令显示映射中的值。ypcat 基本格式为:

% ypcat mapname

其中,mapname 是要查看的映射的名称或其昵称。如果映射仅由关键字组成(如 ypservers),请使用 ypcat -k。否则,ypcat 将列显空白行。ypcat(1) 手册页介绍了 ypcat 的更多选项。

您可以使用 ypwhich 命令来确定哪台服务器是特定映射的主服务器。键入以下命令。

% ypwhich -m mapname

其中,mapname 是要查找其主服务器的映射的名称或昵称。ypwhich 给出的响应是显示主服务器的名称。有关完整信息,请参阅 ypwhich(1) 手册页。

NIS 映射昵称

昵称是完整映射名的别名。要获得可用映射昵称(如 passwd.bynamepasswd)的列表,请键入 ypcat -xypwhich -x

昵称存储在 /var/yp/nicknames 文件中,该文件中包含映射昵称,后跟映射的完全指定名称,两者之间以空格分隔。您可以对此列表进行添加或修改。目前,昵称限制在 500 个以内。

与 NIS 相关的命令

NIS 服务包括专用守护进程、系统程序和命令,下表对其进行了汇总。

表 4-4 NIS 命令汇总

命令
说明
ypserv
通过 NIS 映射为 NIS 客户机的信息请求提供服务。ypserv 是在具有一整套映射的 NIS 服务器上运行的守护进程。网络中必须至少存在一个 ypserv 守护进程,NIS 服务才能正常运行。
ypbind
向客户机提供 NIS 服务器绑定信息。该守护进程通过在请求客户机的域内查找提供映射的 ypserv 进程来提供绑定。ypbind 必须在所有服务器和客户机上运行。
ypinit
自动根据输入文件为 NIS 服务器创建映射。也用于在客户机上构造初始的 /var/yp/binding/domain/ypservers 文件。初次设置主 NIS 服务器和从属 NIS 服务器时请使用 ypinit
make
通过读取 Makefile 来更新 NIS 映射(当在 /var/yp 目录中运行时)。您可以使用 make 根据输入文件来更新所有映射或更新个别映射。ypmake(1M) 手册页中介绍了用于 NIS 的 make 功能。
makedbm
makedbm 接收输入文件并将其转换为 dbm.dirdbm.pag 文件,即 NIS 可以用作映射的有效 dbm 文件。使用 makedbm -u 还可以分解映射,从而可以了解构成它的关键字-值对。
ypxfr
使用 NIS 本身作为传输介质,将 NIS 映射从远程服务器引入到本地 /var/yp/domain 目录。您可以交互方式运行 ypxfr,或从 crontab 文件中定期运行该命令。ypserv 也会调用该命令以启动传送。
ypxfrd
ypxfr 请求(通常为从属服务器)提供映射传送服务。该命令仅在主服务器上运行。
yppush
将 NIS 映射的新版本从 NIS 主服务器复制到其从属服务器。该命令在主 NIS 服务器上运行。
ypset
通知 ypbind 进程绑定到指定的 NIS 服务器。该命令不能随意使用。出于安全原因,建议不要使用该命令。有关 ypbind 进程的 ypsetypsetme 选项的信息,请参见 ypset(1M)ypbind(1M) 手册页。
yppoll
指明在指定的服务器上运行的 NIS 映射的版本。还会列出映射的主服务器。
ypcat
显示 NIS 映射的内容。
ypmatch
列显 NIS 映射中的一个或多个指定关键字的值。您不能指定要查看的 NIS 服务器映射的版本。
ypwhich
显示客户机当前为取得 NIS 服务而正在使用的 NIS 服务器,如果调用该命令时使用了 -m mapname 选项,则显示作为各映射的主服务器的 NIS 服务器。如果只使用 -m,则显示所有可用映射的名称及其各自的主服务器。