linux automount 的配置在哪里?

linux automount 的配置在哪里?

我有一个 centos 机器,上面有一些 NFS 挂载点。我试图弄清楚这些 NFS 文件系统是如何挂载的。我发现如果我将 /usr/sbin/automount 重命名为其他名称,重新启动机器后,这些 NFS 将无法挂载。所以我可以确定 automount 会挂载这些 NFS。

但是 /etc/auto.master 没有显示任何有关这些 NFS 的信息。我想知道 automount 如何挂载哪个 NFS 可能存在哪些可能性?

$ cat /etc/auto.master
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
/misc   /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#   "nosuid" and "nodev" options unless the "suid" and "dev" 
#   options are explicitly given.
#
/net    -hosts
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master

但在 下/var/run,我发现了类似以下内容的内容:

prw-------  1 root      root         0 Jan 20 04:36 autofs.fifo-bldmnt
prw-------  1 root      root         0 Jan 20 04:36 autofs.fifo-blr

答案1

文件 auto.master 通常包含以下行:

/net    -hosts

一个较老的替代方案是(曾经是):

/net    /etc/auto.net

第一行是所谓的内置映射,指的是文件 /etc/hosts,第二行是所谓的程序映射(通常是一个简单的 shell 脚本),它可以更好地向您解释自动安装程序的工作原理。

我猜你的系统上有一些符号链接指向远程服务器上的某个路径/net(或者在你的副本中使用任何 autofs 路径前缀来代替 /net /etc/auto.master)。

每当访问锚点下方的路径时,/net自动挂载程序就会捕获此尝试并尝试在那里挂载引用的目录。

例子:

假设自动挂载程序正在运行,并且网络中存在一个名为的 NFS 服务器,该服务器导出其文件中HostA名为的目录。然后使用命令Documents/etc/exports

cd /net/HostA/Documents

可以自动将该远程目录挂载在那里,而无需在 NFS 客户端上进行进一步配置。

内部结构:

/var/run/与其他服务一样,automount 使用命名管道进行一些内部进程间通信。因此,问题中提到的 文件是由 automount 进程在实际安装任何内容之前为此目的创建的。

在 autofs 包的早期版本中/etc/auto.net有一个脚本,它调用命令showmountkshowmount --no-headers -eNFS-SERVER 从 NFS 服务器获取导出的文件系统列表。

showmount/etc/exports客户端上显示服务器端文件中定义的目录。此文件可能包含目录/。但出于安全考虑,这从来都不是任何我见过的 Linux 发行版的默认设置。

答案2

我们有几个 RHEL6 系统,它们应该与 centOS 机器有些相似。我们的服务器设置在 /etc/exports 中

/data/nfs     <IP-Range>(rw,sync,insecure,root_squash,no_subtree_check,fsid=0)

/data/nfs/data <IP-Range>(rw,nohide,sync,insecure,root_squash,no_subtree_check)

在客户端上,设置位于 /etc/fstab 中

<Hostname of NFS-Server>:/data    /data/<mount-directory>      nfs4     rw     0 0

相关内容