在进行了如此多的理论技术术语讨论之后,现在是时候开始进行实际的配置工作了。在本节中,我们将介绍 NIS 服务器的配置。如果您的网络上已经运行了 NIS 服务器,您就不必设置自己的服务器;在这种情况下,您可以安全地跳过本节。
请注意,如果您只是想尝试服务器,请确保您没有为您网络上已在使用的 NIS 域名设置它。这可能会扰乱整个网络服务,并使很多人非常不高兴和非常生气。
目前有两个 NIS 服务器可以免费用于 , 一个包含在 Tobias Reber 的 yps 包中,另一个包含在 Peter Eriksson 的 ypserv 包中。无论您使用 NYS 还是当前 libc 中包含的标准 NIS 客户端代码,运行哪个服务器都应该没有问题。在撰写本文时,yps 中处理 NIS 从属服务器的代码似乎更完整。因此,如果您必须处理从属服务器,yps 可能是更好的选择。
在 /usr/sbin 中安装服务器程序 (ypserv) 后,您应该创建将要保存您的服务器要分发的映射文件的目录。当为 brewery 域设置 NIS 域时,映射将转到 /var/yp/brewery。服务器通过检查映射目录是否存在来确定它是否正在为特定的 NIS 域提供服务。如果您要禁用某些 NIS 域的服务,请确保也删除该目录。
映射通常存储在 DBM 文件中以加快查找速度。它们是使用名为 makedbm(用于 Tobias 的服务器)或 dbmload(用于 Peter 的服务器)的程序从主文件创建的。这些可能不可互换。将主文件转换为 dbmload 可解析的形式通常需要一些 awk 或 sed 魔法,这些魔法往往有点繁琐且难以记住。因此,Peter Eriksson 的 ypserv 包包含一个 Makefile(称为 ypMakefile),它可以为您完成所有这些工作。您应该将其作为 Makefile 安装在您的映射目录中,并对其进行编辑以反映您要分发的映射。在文件顶部附近,您会找到 all 目标,其中列出了 ypserv 要提供的服务。默认情况下,该行看起来像这样
例如,如果您不想生成 ethers.byname 和 ethers.byaddr 映射,只需从此规则中删除 ethers 前提条件。为了测试您的设置,从一两个映射开始可能就足够了,例如 services.* 映射。
编辑 Makefile 后,在映射目录中,键入 ``make''。这将自动生成并安装映射。您必须确保在每次更改主文件时更新映射,否则更改将对网络保持不可见。
下一节解释如何配置 NIS 客户端代码。如果您的设置不起作用,您应该尝试找出是否有任何请求到达您的服务器。如果您为 NYS 服务器指定 -D 命令行标志,它会将关于所有传入的 NIS 查询以及返回结果的调试消息打印到控制台。这些应该为您提供问题所在的提示。Tobias 的服务器没有这样的选项。