我有这个设置
客户:Centos 7.6.1810 最新
服务器:Windows 7 专业版
AutoFS 配置
# tail -1 /etc/auto.master
/srv/xray /etc/auto.xray
# cat /etc/auto.xray
cdm8240 -fstype=cifs,ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials ://my.server/share/
# cat /etc/auto.smb.cdm8-240.credentials
username=mylogin
password=passpass123
如果我手动安装此共享,一切都很好
# mount.cifs -o ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials //my.server/share/ /srv/xray/
# ls -l /srv/xray/ | wc -l
34
# umount /srv/xray/
如果我尝试使用 autofs,则会出现错误的安装条目。
/etc/auto.xray on /srv/xray type autofs (rw,relatime,fd=17,pgrp=71348,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=404555)
cdm8240
然后我尝试在 /srv/xray/ 文件夹中预先创建挂载点...
# ls -ld /srv/xray/cdm8240/
drwxrwxrwx 2 root root 6 Jun 6 08:17 /srv/xray/cdm8240/
...重新加载 autofs 并访问共享并且它可以工作
# systemctl restart autofs
# ls -l /srv/xray/cdm8240/ | wc -l
34
但现在奇怪的是,如果我重新启动 autofs,它会卸载共享并删除 cdm8240 文件夹!
# systemctl restart autofs
# find /srv/xray/ -ls
406293 0 drwxr-xr-x 2 root root 0 Jun 6 08:20 /srv/xray/
甚至更改 /srv/xray/ 上的权限,将其保留为 755,而不是之前的 777!我回到第一种情况,这是错误的安装条目。
更新1
尝试过“直接”模式,现在看起来不错
# tail -1 /etc/auto.master
/- /etc/auto.xray
# cat /etc/auto.xray
/test/cdm8240 -fstype=cifs,ro,credentials=/etc/.cdm8240cred,vers=2.1,file_mode=0775,dir_mode=0775,users ://my.server/share
那么,这是间接模式中的错误还是“正常”的情况?
更新2
如下所述,一切都很好。我--ghost
在 auto.master 文件中添加了选项,如下所示
/srv/autofs/xray /etc/auto.xray --ghost
现在共享已显示,一切正常。
答案1
这看起来完全正常。
自动挂载程序接管顶级目录,/srv/xray
用于相应文件或程序中定义的所有挂载/etc/auto.xray
。 (在您的情况下,这是一个普通文件。)
文件系统仅按需安装,因此当您查看内部时,/srv/xray
您最初什么也看不到。但是当您运行时,ls -ld /srv/xray/cdm8240/
自动挂载程序会看到对映射目录的引用,并为您cmd8240
挂载相应的文件系统。/srv/xray/cdm8240
在将来的某个时刻,一旦您停止访问在/srv/xray/cdm8240
自动挂载器上挂载的文件系统,就会将其卸载并/srv/xray
再次显示为空。
我个人认为有用的是在下面运行自动安装程序/var/autofs
,这样对于auto.misc
我将拥有的映射文件以及该文件中的/var/autofs/misc
条目。remote
auto.misc
/var/autofs/misc/remote
然后,我创建一个顶级目录/autofs
和符号链接目录/var/autofs/misc/
。这样,即使未安装它们,我也可以看到它们,而且我再也不需要担心/var/autofs/misc
目录树了。
mkdir -p -m755 /autofs
cd /autofs
ln -s ../var/autofs/misc/remote # Create link to automounted 'remote'