系统管理指南:IP 服务

有关 DHCP 数据存储的 NIS+ 访问问题

NIS+ 访问问题可能会导致有关 DES 凭证不正确或者更新 NIS+ 对象或表的权限不足的错误消息。请使用以下问题说明和解决方案来确定所遇到的 NIS+ 访问错误的原因。

问题:

DHCP 服务器系统没有创建对 NIS+ 域中 org_dir 对象的访问权限。

解决方法:

键入以下命令:


nisls -ld org_dir

访问权限以 r---rmcdrmcdr--- 形式列出,其中权限分别应用于无人 (nobody)、属主 (owner)、组 (group) 和全局 (world)。对象的属主将在随后列出。

通常,org_dir 目录对象为属主和组提供了完全权限。完全权限包括读取、修改、创建和销毁。org_dir 目录对象仅会为全局和无人这两个类提供读取访问权限。

DHCP 服务器名必须作为 org_dir 对象的属主列出,或者作为组的主体列出。组必须具有创建访问权限。请使用以下命令列出组:


nisls -ldg org_dir

如有必要,可使用 nischmod 命令更改 org_dir 的权限。例如,要向组添加创建权限,可键入以下命令:


nischmod g+c org_dir

有关更多信息,请参见 nischmod(1) 手册页。

问题:

DHCP 服务器没有在 org_dir 对象下创建表的权限。

通常,此问题表示服务器系统的主体名不是 org_dir 对象的所属组的成员,或者不存在所属组。

解决方法:

键入以下命令查找所属组的名称:


niscat -o org_dir

查找显示如下内容的行:

Group : "admin.example.com."

使用以下命令列出组中的主体名:


nisgrpadm -l groupname

例如,以下命令可列出组 admin.example.com 的主体名:

nisgrpadm -l admin.example.com

服务器系统名应作为组的显式成员列出,或者作为隐式成员包括在组中。如有必要,可使用 nisgrpadm 命令将服务器系统的名称添加到组中。

例如,要将服务器名称 pacific 添加到组 admin.example.com 中,可键入以下命令:


nisgrpadm -a admin.example.com pacific.example.com

有关更多信息,请参见 nisgrpadm(1) 手册页。

问题:

DHCP 服务器在 NIS+ cred 表中没有有效的数据加密标准 (Data Encryption Standard, DES) 凭证。

解决方法:

如果存在凭证问题,则会显示错误消息,表明用户在 NIS+ 名称服务中没有 DES 凭证。

使用 nisaddcred 命令可为 DHCP 服务器系统添加安全凭证。

以下示例说明如何在域 example.com 中为系统 mercury 添加 DES 凭证:


nisaddcred -p unix.mercury@example.com \
-P mercury.example.com. DES example.com.

此命令会提示输入超级用户口令,生成加密密钥时需要使用此口令。

有关更多信息,请参见 nisaddcred(1M) 手册页。