autofs 在父目录中挂载

autofs 在父目录中挂载

多年来,我一直对 autofs 感到困惑。我以为我的存储库中的 autofs 版本存在错误。不幸的是,即使经过了几次系统和发行版升级,涵盖了几个主要内核和 autofs 版本,我仍然遇到以下意外行为。

首先,让我们手动并成功挂载我的 NFS 共享:

$ mount sarabi:/export/public_html /tmp/mnt
$ ls -al /tmp/mnt
drwxr-sr-x+  3 root   www-data 4096 Apr 21 19:18 .
drwxrwxrwt  10 root   root     4096 Apr 22 15:39 ..
drwxr-s---+  2 markus www-data 4096 Apr 21 19:18 markus

检查我的共享是否有效后,我们将尝试通过 autofs 使其自动化。

$ cat /etc/auto.master
+dir:/etc/auto.master.d
+auto.master
/mnt/   /etc/auto.mnt --timeout=1800 --ghost
$ cat /etc/auto.mnt
public_html sarabi:/export/public_html
$ ls -al /mnt                # as expected
drwxr-xr-x  3 root root    0 Apr 22 15:48 .
drwxr-xr-x 22 root root 4096 Apr 22 14:27 ..
dr-xr-xr-x  2 root root    0 Apr 22 15:48 public_html
$ ls -al /mnt/public_html    # unexpected
ls: cannot access '/mnt/public_html/': Too many levels of symbolic links.
$ ls -al /mnt                # Why is public_html mounted into /mnt?!?
drwxr-sr-x+  3 root   www-data 4096 Apr 21 19:18 .
drwxr-xr-x  22 root   root     4096 Apr 22 14:27 ..
drwxr-s---+  2 markus www-data 4096 Apr 21 19:18 markus

为什么 autofs 直接挂载会把间接挂载public_htlm改成/mnt?!?

答案1

经过这么多年,我终于解决了这个问题。问题只是/挂载点的冗余。因此,工作主配置文件必须如下所示:

$ cat /etc/auto.master
+dir:/etc/auto.master.d
+auto.master
/mnt   /etc/auto.mnt --timeout=1800 --ghost

相关内容