Tux 知道分享是好事,第四部分

作者:Marcel Gagné

上次,我们完成了设置 NIS 服务器的过程。虽然我们完成了设置 NIS 服务器的工作很棒,但没有客户端它就没什么用处。幸运的是,客户端相当简单,所以请随意设置很多客户端。在客户端系统上,首先打开文件

/etc/yp.conf
在你最喜欢的编辑器中(来吧,我敢打赌你敢)。有三种可能的方法来设置客户端以查找 NIS 服务器。

     domain NISDOMAIN server HOSTNAME
     #       Use server HOSTNAME for the domain NISDOMAIN.

如果您选择此方法,则指定您希望客户端连接的 NISDOMAIN 和 HOSTNAME。您可以有多个这样的条目。以我的 domain.nis 示例为例,我的

yp.conf
条目看起来像这样。

     domain mydomain.nis server testsys.mydomain.dom

您还可以设置您的客户端以通过广播监听 NIS 服务器。这里唯一的限制是服务器必须在同一子网中。您无法监听网络之外的 NIS 服务器。

     domain NISDOMAIN broadcast
     #       Use  broadcast  on  the local net for domain NISDOMAIN

再次,您需要将 NISDOMAIN 替换为 NIS 域名。此方法的优点是您只需要配置一个条目,就完成了。最后一个选项可能是所有选项中最简单的,就灵活性而言。

     ypserver HOSTNAME
     #       Use server HOSTNAME for the  local  domain.

输入 NIS 服务器的主机名,就完成了。但是,如果您要使用此方法,您最好确保 HOSTNAME 列在

/etc/hosts
文件中。对于我的测试,我使用了最后一个示例,条目如下。

     ypserver testsys

最后一个文件需要编辑,我们就完成了。这个文件名为 /etc/nsswitch.conf,虽然这里的内容比 yp.conf 多得多,但格式并不更难。基本上,您有一个文件名列表,以及与每个文件名关联的一个或多个服务选项。以下是我文件中的一个示例,它基本上是 Red Hat 系统的默认配置。

     passwd:     files nisplus nis
     shadow:     files nisplus nis
     group:      files nisplus nis

     #hosts:     db files nisplus nis dns
     hosts:      files nisplus nis dns

服务选项包括 filesnis(或 yp - 两者相同)、nisplusdns[NOTFOUND=return]。好的,这里有更多细节。“files”选项表示我们应该使用本地文件来查找信息。另一方面,nis(或 yp)告诉系统使用 NIS 获取信息。然后,我们有 nisplus(使用 NIS+)、dns(使用 DNS 查找信息:请注意,这仅适用于 hosts 文件),最后,[NOTFOUND=return] 表示“如果您没有找到信息,则停止搜索”。

当然,每个文件都有多个列出的选项,这只能意味着顺序在某种程度上很重要。这是信息检索的搜索顺序:您几乎总是希望首先搜索本地主机,因此 files 通常是第一个选项。只有当您在本地找不到信息时,您才希望在其他地方查找,但即使这样也可以更改。

让我们测试一下,好吗?首先,与服务器一样,您需要设置 NIS 域名。您仍然希望将信息硬编码到相应的配置文件中,但是一种快速设置方法(如果您尚未设置)是使用 domainname 命令。现在,请记住,这次我们是在客户端上工作。

     domainname mydomain.nis

酷!现在,我们需要启动 yppasswdd(以允许在 NIS 服务器上更改密码)和 NIS 监听器 ypbind。对于 Debian,这是 /etc/init.d/nis start 脚本。对于 Red Hat,您需要启动 /etc/rc.d/init.d/yppasswdd 和 /etc/rc.d/init.d/ypbind。

您能感受到紧张感,对吧? 要查看 NIS 服务器密码文件的内容,请尝试此命令。

     ypcat passwd

我不会用我的中央密码文件的内容来让您感到厌烦 <此处插入适当的邪恶笑容>。我只想说,如果您做的一切都正确,您应该会看到密码文件的内容。但是请注意,只有 上次设置的 MINUID 之后的条目(请参阅上一列关于设置 NIS 服务器的 www.linuxjournal.com/article/5299)实际上是可见的。

让我们再试一个。要获取主机信息,请执行此操作。

     ypcat hosts

格式很简单。您只是指定 NIS 服务提供的文件名。

我现在要暂时离开 NIS。关于这个主题,我还有一些事情要谈,但现在,我们将做一些其他的事情。为了解决其他事情,我需要问大家几个问题。

您感到疲倦吗?无精打采?持续不断地给予生命的咖啡因是否停止了产生预期的效果?当有人走进您的办公室时,您是否会心不在焉地说“当然,我会为您挂载该文件系统”?您是否经常试图记住您是否为此目录或彼目录设置了共享?您的网络是否因数百个不必要的 NFS(或 SAMBA)挂载而变得迟缓,您只是偶尔使用它们,但又无法忍受每次需要它们时都挂载和卸载它们?如果您对以上任何一个问题的回答是“是”,那么我可能有一些东西可以帮助您。

如果您开始大量使用 NFS,您可能会发现整个挂载和卸载文件系统的业务变得有点 乏味。您可以将各种挂载放入您的 /etc/fstab 中(正如我们在本系列的第一部分 www.linuxjournal.com/article/4710 中讨论的那样),并让它们自动启动,但这也有其问题。如果该系统并非始终可用怎么办?也可能您只是偶尔需要此文件系统。如果是这种情况,您不希望永久挂载它。但是,当有人确实需要它时,您真的希望他们打扰您吗?

Linux 命令 autofs 可以让您的生活轻松很多。这个想法是您在一个名为 map 文件的文件中定义要挂载的文件系统。此 map 描述了文件系统类型、它们的位置以及挂载它们可能需要的权限。美妙之处在于您不必手动挂载这些文件系统,甚至不必完全挂载它们。只要用户在 map 路径中请求任何内容,该文件系统就会自动挂载。听起来好得难以置信?别害怕。这一切都是真的。

要使用此工具,您需要系统上加载 autofs 软件包。您会发现它可能已经在您的发行版 CD 上。或者,您可以访问 ftp.kernel.org 网站,并在 /pub/linux/daemons/autofs 目录中查找最新和最好的版本。

设置很简单。首先设置您的 /etc/auto.master 文件。格式如下。您定义自动挂载发生的顶层目录。这指向另一个文件(您的 map),该文件负责单独定义这些挂载及其文件系统类型。这是我现在的 auto.master 文件。

     /automnt\t\t/etc/auto.automnt

您可以有许多这样的定义。例如,您可能在 /misc、/home 或永久的 /mnt 下定义了挂载点。约定是使用 /etc/auto.map 文件,其中“map”与挂载点同名。但是,您可以使用几乎任何您喜欢的名称,它仍然可以工作。现在,让我们看看我定义的 map。

     # automount locations
     # This is an automounter map and it has the following format
     # key [ -mount-options-separated-by-comma ] location

     # nfs servers
     testsysdata        -fstype=nfs,rsize=8192,wsize=8192          testsys:/data1
     testsysroot        -fstype=nfs,rsize=8192,wsize=8192          testsys:/

     # samba servers
     testsysdos\t\t-fstype=smb,username=marcel,password=secret\t://testsys/dosdir
     winsoft\t\t-fstype=smb\t\t://nexus/win95

     # Windows PCs
     natika_c\t\t-fstype=smb,username=natika,password=secret         ://speedy/natika_c

请注意,我列出了 Samba 文件系统(我尚未讨论过)和一个 Windows PC。Linux autofs 可以处理许多不同的系统;它不仅仅适用于 NFS。但是,在我们开始使用东西之前,我们需要启动(或重启)autofs 进程。在我的运行 Red Hat 的测试系统上,我从脚本启动它

     /etc/rc.d/init.d/autofs start

在 Debian 系统上,脚本很可能在 /etc/init.d 中,但它将使用相同的关键字来启动 automounter。顺便说一句,实际执行工作的程序称为 automount,因此如果您在 “ps ax” 中查找该程序,您将看到该程序名称而不是 autofs,后者只是软件包名称。

要访问这些系统上的任何信息,我只需要更改目录或引用那里的文件。autofs 系统会为我完成剩下的工作。

     cd /automnt/natika_c
     ls

瞧! 奇迹般地,我可以看到 Natika 的 C 盘的全部内容!

好了,这就是您的卑微的极客和叙述者的又一周的总结。在我们下次在这个阳光明媚的角落相遇之前,请记住您妈妈说的话,“分享是好事”。

加载 Disqus 评论