6. 设置 NIS 需要什么?

6.1. 确定您是服务器、从属服务器还是客户端。

要回答这个问题,您必须考虑两种情况

  1. 您的机器将成为具有现有 NIS 服务器的网络的一部分

  2. 您的网络中还没有任何 NIS 服务器

在第一种情况下,您只需要客户端程序(ypbind、ypwhich、ypcat、yppoll、ypmatch)。最重要的程序是 ypbind。这个程序必须始终运行,这意味着它应该始终出现在进程列表中。它是一个守护进程,需要从系统的启动文件(例如 /etc/init.d/nis、/sbin/init.d/ypclient、/etc/rc.d/init.d/ypbind、/etc/rc.local)启动。一旦 ypbind 运行,您的系统就成为 NIS 客户端。

在第二种情况下,如果您没有 NIS 服务器,那么您还需要一个 NIS 服务器程序(通常称为 ypserv)。第 9 节 描述了如何使用 ypserv 守护程序在您的 Linux 机器上设置 NIS 服务器。

6.2. 软件

系统库 "/usr/lib/libc.a"(版本 4.4.2 及更高版本)或共享库 "/lib/libc.so.x" 包含成功编译 NIS 客户端和服务器软件所需的所有系统调用。对于 GNU C 库 2 (glibc 2.x),您还需要 /lib/libnsl.so.1。

有些人报告说 NIS 仅适用于 "/usr/lib/libc.a" 版本 4.5.21 及更高版本,因此如果您想安全起见,请不要使用较旧的 libc。NIS 客户端软件可以从以下位置获取

  Site                  Directory                        File Name

  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.8.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.13.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3-glibc5.diff.gz

获得软件后,请按照软件附带的说明进行操作。yp-clients 2.2 适用于 libc4 和 libc5,直到 5.4.20。libc 5.4.21 和 glibc 2.x 需要 yp-tools 1.4.1 或更高版本。新的 yp-tools 2.4 应该适用于每个 Linux libc。由于 NIS 代码中存在一个错误,因此您不应使用 libc 5.4.21-5.4.35。请改用 libc 5.4.36 或更高版本,否则大多数 YP 程序将无法工作。ypbind 3.3 也适用于所有库。如果您使用 gcc 2.8.x 或更高版本、egcs 或 glibc 2.x,则应将 ypbind-3.3-glibc5.diff 补丁添加到 ypbind 3.3。如果可能,出于安全原因,您应避免使用 ypbind 3.3。ypbind-mt 是一个新的多线程守护程序。它需要 Linux 2.2 内核和 glibc 2.1 或更高版本。