У меня такая установка
Клиент: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'