跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中管理网络文件系统 Oracle Solaris 11.1 Information Library (简体中文) |
Autofs 使用三种类型的映射:
主映射
直接映射
间接映射
auto_master 映射将目录与映射相关联。该映射是指定 autofs 应检查的所有映射的主列表。以下示例说明 auto_master 文件可能包含的内容。
示例 3-3 /etc/auto_master 文件样例
# Master map for automounter # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse /nfs4 -fedfs -ro,nosuid,nobrowse /- auto_direct -ro
本示例说明在常规 auto_master 文件中额外增加了 auto_direct 映射。主映射 /etc/auto_master 中的每一行都具有以下语法:
mount-point map-name [ mount-options ]
mount-point 是目录的全(绝对)路径名。如果目录不存在,则 autofs 将创建该目录(如果可能)。如果目录存在且不为空,则在该目录上挂载会隐藏该目录的内容。在这种情况下,autofs 将发出警告。
作为挂载点的表示法 /- 指示此特定映射是直接映射。该表示法还表示没有特定的挂载点与该映射关联。
map-name 是用于查找位置目录或挂载信息的 autofs 映射。如果名称前面带有斜杠 (/),autofs 会将该名称解释为本地文件。否则,autofs 会使用在名称服务转换配置文件 (/etc/nsswitch.conf) 中指定的搜索项来搜索挂载信息。特殊映射还可用于 /net。有关更多信息,请参见挂载点 /net。
mount-options 是可选的以逗号分隔的选项列表,其中的选项适用于挂载 map-name 中指定的项,除非 map-name 中的项列出了其他选项。每种特定类型的文件系统的选项都列在该文件系统的挂载手册页中。例如,有关特定于 NFS 的挂载选项,请参见 mount_nfs(1M) 手册页。对于特定于 NFS 的挂载点,bg(后台)和 fg(前台)选项都不适用。
以 # 开头的行是注释。# 之后直到行尾的所有文本都将被忽略。
要将较长的行拆分为较短的行,请在行尾放置一个反斜杠 (\)。项的最大字符数为 1024。
注 - 如果在两个项中使用了同一挂载点,则 automount 命令会使用第一项。第二项将被忽略。
挂载点 /home 是 /etc/auto_home(间接映射)中列出的项将要挂载到的目录。
注 - 缺省情况下,Autofs 可以在所有计算机上运行且支持 /net 和 /home(自动挂载的起始目录)。可以使用 NIS auto.master 映射中的项或通过本地编辑 /etc/auto_master 文件来覆盖这些缺省值。
Autofs 将在目录 /net 下挂载特殊映射 -hosts 中的所有项。该映射是仅使用主机数据库的内置映射。假设计算机 gumbo 位于主机数据库中,且可以导出其任何文件系统。以下命令会将当前目录更改为计算机 gumbo 的根目录。
% cd /net/gumbo
Autofs 只能挂载主机 gumbo 的已导出的文件系统,即服务器上可供网络用户使用的文件系统,而不是本地磁盘上的文件系统。因此,gumbo 中的所有文件和目录可能都无法通过 /net/gumbo 使用。
使用 /net 访问方法时,服务器名称位于路径中,且与位置相关。如果要将导出的文件系统从一台服务器移动到另一台服务器,则该路径可能无法再正常工作。应针对所需的文件系统在映射中特别设置一项,而不应使用 /net。
注 - 使用 NFSv3 和早期协议时,autofs 仅在挂载时检查服务器的导出列表。挂载服务器的文件系统之后,在自动取消挂载该服务器的文件系统之前,autofs 不会再次检查服务器。因此,只有在取消挂载客户机上的文件系统,然后重新挂载之后,才能“看到”新导出的文件系统。对于使用 NFSv4 的系统,镜像挂载可反映对服务器上的导出文件系统的列表所做的任何动态更改。
/nfs4 挂载点使用 pseudo-map 来挂载联合文件系统域根。对 /nfs4/example.net 的引用将导致尝试查找 DNS 域 example.net 的域根,然后将其挂载到该位置。这要求 DNS 服务器返回一条记录,如为 FedFS 服务器设置 DNS 记录中所述。
直接映射是自动挂载点。使用直接映射时,客户机上的挂载点与服务器上的目录之间存在直接关联。直接映射具有全路径名并显式表示这种关系。以下是典型的 /etc/auto_direct 映射:
/usr/local -ro \ /bin ivy:/export/local/sun4 \ /share ivy:/export/local/share \ /src ivy:/export/local/src /usr/man -ro oak:/usr/man \ rose:/usr/man \ willow:/usr/man /usr/games -ro peach:/usr/games /usr/spool/news -ro pine:/usr/spool/news \ willow:/var/spool/news
key [ mount-options ] location
key 是直接映射中挂载点的路径名。
mount-options 是要应用于此特定挂载的选项。仅当这些选项不同于映射缺省值时,才需要这些选项。每种特定类型的文件系统的选项都列在该文件系统的挂载手册页中。例如,有关特定于 NFS 的挂载选项,请参见 mount_nfs(1M) 手册页。
location 是文件系统的位置。对于 NFS 文件系统,以 server:pathname 格式指定一个或多个文件系统。
注 - pathname 不应包括自动挂载的挂载点。pathname 应该为文件系统的实际绝对路径。例如,起始目录的位置应列为 server:/export/home/ username,而不是 server :/home/username。
与主映射中相同,以 # 开头的行是注释。# 之后直到行尾的所有文本都将被忽略。要将较长的行拆分为较短的行,请在行尾放置一个反斜杠。
在所有的映射中,直接映射中的项与 /etc/vfstab 中相应的项最相似。/etc/vfstab 中可能存在如下所示的项:
dancer:/usr/local - /usr/local/tmp nfs - yes ro
等效的项则以如下形式出现在直接映射中:
/usr/local/tmp -ro dancer:/usr/local
注 - 自动挂载程序映射之间不会出现任何选项关联。添加到自动挂载程序映射中的任何选项将覆盖以前搜索到的映射中列出的所有选项。例如,auto_master 映射中包含的选项将被任何其他映射中的相应项所覆盖。
有关与此类型的映射关联的其他重要功能,请参见Autofs 如何为客户机选择最近的只读文件(多个位置)。
在示例 3-3中,挂载点 /- 通知 autofs 不要将 auto_direct 中的项与任何特定挂载点关联。间接映射使用在 auto_master 文件中定义的挂载点。直接映射使用在已命名映射中指定的挂载点。请记住,在直接映射中,关键字或挂载点是全路径名。
NIS auto_master 文件只能有一个直接映射项,因为挂载点在名称空间中必须是唯一值。作为本地文件的 auto_master 文件可以具有任意数目的直接映射项(如果这些项不重复)。
间接映射使用关键字的替代值在客户机上的挂载点与服务器上的目录之间建立关联。间接映射对于访问特定文件系统(如起始目录)非常有用。auto_home 映射便是间接映射。
key [ mount-options ] location
key 是间接映射中的简单名称(不含斜杠)。
mount-options 是要应用于此特定挂载的选项。仅当这些选项不同于映射缺省值时,才需要这些选项。每种特定类型的文件系统的选项都列在该文件系统的挂载手册页中。例如,有关特定于 NFS 的挂载选项,请参见 mount_nfs(1M) 手册页。
location 是文件系统的位置。可以 server: pathname 形式指定一个或多个文件系统的位置。
注 - pathname 不应包括自动挂载的挂载点。pathname 应该为文件系统的实际绝对路径。例如,目录的位置应列为 server:/usr/local ,而不是 server:/net/ server/usr/local。
与主映射中相同,以 # 开头的行是注释。# 之后直到行尾的所有文本都将被忽略。要将较长的行拆分为较短的行,请在行尾放置一个反斜杠 (\)。示例 3-3 显示了一个包含以下项的 auto_master 映射:
/home auto_home -nobrowse
auto_home 是间接映射的名称,该映射包含要在 /home 下挂载的项。典型的 auto_home 映射将包含以下内容:
david willow:/export/home/david rob cypress:/export/home/rob gordon poplar:/export/home/gordon rajan pine:/export/home/rajan tammy apple:/export/home/tammy jim ivy:/export/home/jim linda -rw,nosuid peach:/export/home/linda
例如,假设上面的映射位于主机 oak 上。假设用户 linda 在口令数据库中有一项,该项将她的起始目录指定为 /home/linda。只要 linda 登录计算机 oak,autofs 就会挂载位于计算机 peach 上的目录 /export/home/linda。她的起始目录以读写方式结合 nosuid 选项进行挂载。
假设发生以下情况:用户 linda 的起始目录在口令数据库中列为 /home/linda。任何人(包括 Linda)都可以从使用特定主映射(引用上一个示例中的映射的主映射)设置的任何计算机访问此路径。
在上述情况下,用户 linda 可以在其中的任何一台计算机上运行 login 或 rlogin,并且已为自己挂载了起始目录。
而且,此时 Linda 还可以键入以下命令:
% cd ~david
autofs 将为她挂载 David 的起始目录(如果允许所有权限)。
注 - 自动挂载程序映射之间不会出现任何选项关联。添加到自动挂载程序映射中的任何选项将覆盖以前搜索到的映射中列出的所有选项。例如,将使用任何其他映射中对应的项来覆盖 auto_master 映射中包含的选项。
在没有名称服务的网络中,必须更改网络中所有系统上的所有相关文件(如 /etc/passwd)以允许 Linda 访问自己的文件。在运行 NIS 的网络中,应在 NIS 主服务器上进行更改并将相关的数据库传播到从属服务器。