使用 Oracle® Solaris 11.2 目录和命名服务:DNS 和 NIS

退出打印视图

更新时间: 2014 年 7 月
 
 

NIS 网络组

NIS 网络组是您为实现管理目的而定义的用户或计算机组(集合)。例如,您可以创建网络组来执行以下任务。

  • 定义一组可以访问特定计算机的用户

  • 定义一组要被授予特定文件系统访问权限的 NFS 客户机

  • 定义一组要对特定 NIS 域中的所有计算机具有管理员权限的用户

每个网络组都有一个网络组名。网络组不直接设置权限或访问权限。而是由其他 NIS 映射在通常使用用户名或计算机名的地方使用网络组名。例如,假设您创建了一个由网络管理员组成的网络组,名为 netadmins。要向 netadmins 网络组的所有成员授予对给定计算机的访问权限,只需向该计算机的 /etc/passwd 文件中添加一个 netadmin 项即可。网络组名也可以添加到 /etc/netgroup 文件中并传播到 NIS netgroup 映射。有关使用网络组的更多详细信息,请参见 netgroup(4) 手册页。

在使用 NIS 的网络中,主 NIS 服务器上的 netgroup 输入文件用于生成三种映射:netgroupnetgroup.byusernetgroup.byhostnetgroup 映射包含 netgroup 输入文件中的基本信息。另外两种 NIS 映射中包含的信息的格式可在给定计算机或用户名的情况下加速网络组信息的查找。

netgroup 输入文件中的项格式如下:name ID,其中 name 是您指定给网络组的名称,而 ID 用于标识属于该网络组的一个计算机或用户。您可以根据需要为网络组指定任意多的 ID(成员),ID 之间以逗号分隔。例如,要创建一个具有三个成员的网络组,netgroup 输入文件项将采用以下格式:name ID, ID, IDnetgroup 输入文件项中的成员 ID 采取以下格式。

([-|machine], [-|user], [domain])

其中,machine 是计算机名,user 是用户 ID,domain 是计算机或用户的 NIS 域。domain 元素是可选的,并且仅应用于标识其他某个 NIS 域中的计算机或用户。每个成员项的 machineuser 元素是必需的,但连字符 (-) 用来表示内容为空。项中的计算机和用户元素之间不存在必然联系。

下面是两个 netgroup 输入文件项样例,每个样例都创建了一个名为 admins 的网络组,网络组由用户 haurijuanita(后者在远程域 sales 中)以及计算机 altairsirius 组成。

admins (altair,hauri,) (sirius,juanita,sales)
admins (altair,-,) (sirius,-,) (-,hauri,) (-,juanita,sales)

各种程序在登录、远程挂载、远程登录以及远程创建 shell 期间会使用 NIS 映射进行权限检查。这些程序包括 mountdloginlogin 命令在 passwd 数据库中遇到网络组名时,会在网络组映射中查询用户分类。mountd 守护进程在 /etc/dfs/dfstab 文件中遇到网络组名时,会在网络组映射中查询用户分类。实际上,如果使用 ruserok 接口的任何程序遇到了 /etc/hosts.equiv.rhosts 文件中的网络组名称,它们都将在网络组映射中查找计算机和用户分类。

如果您向网络中添加新 NIS 用户或计算机,请确保在 netgroup 输入文件中将其添加到适当的网络组中。然后使用 makeyppush 命令创建网络组映射,再将其推送到所有 NIS 服务器。有关使用网络组和网络组输入文件语法的详细信息,请参见 netgroup(4) 手册页。