假定您是某个大型软件开发项目的管理员。您计划在名为 /ws 的目录下提供所有与项目相关的文件。此目录将在站点上的所有工作站中通用。
向站点 auto_master 映射 NIS 或 NIS+ 添加 /ws 目录的项。
/ws auto_ws -nosuid |
auto_ws 映射可确定 /ws 目录的内容。
为防万一,添加 -nosuid 选项。
此选项可阻止用户运行任何工作区可能存在的 setuid 程序。
向 auto_ws 映射中添加项。
auto_ws 映射已经过组织,因此每项都能描述一个子项目。首次尝试添加时将生成如下映射:
compiler alpha:/export/ws/& windows alpha:/export/ws/& files bravo:/export/ws/& drivers alpha:/export/ws/& man bravo:/export/ws/& tools delta:/export/ws/& |
每项结尾的和符号 (&) 是指该项关键字的缩写。例如,第一项与以下内容等效:
compiler alpha:/export/ws/compiler |
首次尝试添加时会提供一个外观简单的映射,但该映射不适当。项目组织者决定应提供 man 项中的文档作为每个子项目下的子目录。另外,每个子项目都要求子目录描述该软件的多个版本。必须将其中的每个子目录都指定给服务器上的整个磁盘分区。
请按如下所示修改映射中的各项:
compiler \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /vers2.0 bravo:/export/ws/&/vers2.0 \ /man bravo:/export/ws/&/man windows \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /man bravo:/export/ws/&/man files \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /vers2.0 bravo:/export/ws/&/vers2.0 \ /vers3.0 bravo:/export/ws/&/vers3.0 \ /man bravo:/export/ws/&/man drivers \ /vers1.0 alpha:/export/ws/&/vers1.0 \ /man bravo:/export/ws/&/man tools \ / delta:/export/ws/& |
尽管现在映射看起来比较大,但是映射仍然仅包含五个项。由于每项都包含多个挂载,因此每项都比较大。例如,对 /ws/compiler 的引用要求挂载 vers1.0、vers2.0 和 man 三个目录。每一行结尾的反斜杠通知 autofs 该项会继续进入下一行。实际上,尽管使用了换行符和一些缩进以使该项更具可读性,但该项仍是较长的一行。tools 目录包含所有子项目的软件开发工具,因此该目录不遵循相同的子目录结构。tools 目录仍然表示单个挂载。
这种安排为管理员提供了许多灵活性。软件项目通常会占用大量磁盘空间。在项目的整个生命周期内,可能需要重新定位并扩展各种磁盘分区。如果这些更改反映在 auto_ws 映射中,则无需通知用户,因为 /ws 下的目录分层结构未被更改。
由于服务器 alpha 和 bravo 查看的是同一个 autofs 映射,因此登录到这些计算机的任何用户都可以找到预期的 /ws 名称空间。系统将为这些用户提供通过回送挂载(而不是 NFS 挂载)对本地文件的直接访问。