我有一个 NFS 服务器,为远程用户导出主目录,并且工作站有本地和远程用户。我想配置 autofs 将远程用户主目录挂载为 /home 目录的子目录。
我配置了 autofs 来挂载 nfs 共享,但是当挂载远程共享时,本地主目录消失了。
有没有办法只挂载 /home 目录中不存在的目录?有没有一种方法不是通过手动设置所有本地文件夹来配置的,自动发现每个现有目录并跳过它的安装?
谢谢
答案1
我刚刚解决了类似的问题。我想挂载一些用户的/home/username
目录网络文件系统,但还有其他几个位于本地磁盘上。不幸的是,当尝试使用本地磁盘目录时,我遇到了权限错误。
经过一番研究,我man auto.master 5
仔细阅读了一下,发现了这一点:
For direct maps the mount point is always specified as:
/-
and the key used within the direct map is the full path to the
mount point. The direct map may have multiple entries in the master map.
所以,在 auto.master 中,你会有这样一行:
/- auto.misc --timeout 60
在自动杂项中:
/home/remoteuser <options> <nfsserver>:<path to home dir>
如果需要,您仍然可以在 auto.misc 文件中进行间接安装。仅取决于您想要如何组织地图文件。
请注意,这是在 Ubuntu 16.04 和自动挂载 5.1.1 上。我还没有在其他操作系统上测试过这个。
答案2
经过一番努力后,很高兴找到这篇文章,它对我发现的主题更加清晰。
只是为了重新编写,并确认它在 Centos 7|autofs-5.0.7-56 下工作。
基本,对原始文件进行很少的修改:
/etc/auto.master
/- /etc/auto.nfs --timeout=86400
+auto.master
+dir:/etc/auto.master.d
autofs.conf:
``nothing changed``
自动nfs:
/home/users -rw,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,intr,acl,noatime,nodiratime,sync storageVIP:/DATA/home/users
这导致我的本地帐户/目录仍然可以在 /home 中访问,并且 [仅] /home/users 充满了来自 NFS 安装点的数据。它还提供了在任何子目录中精细安装任何其他导出的机会。
再次感谢老兄!