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