Autofs: различия между версиями
Sinaps (обсуждение | вклад) |
|||
(не показано 28 промежуточных версий 8 участников) | |||
Строка 1: | Строка 1: | ||
= Общая информация = | |||
Работает следующим образом: | Работает следующим образом: | ||
Строка 10: | Строка 12: | ||
Каталог же /mnt/auto/server/ не должен существовать. В противном случае сетевой ресурс смонтирован не будет. | Каталог же /mnt/auto/server/ не должен существовать. В противном случае сетевой ресурс смонтирован не будет. | ||
= | =Установка и настройка= | ||
Установите из репозитория: | |||
$ su - | |||
# apt-get update | |||
# apt-get install autofs | |||
Конфигурация описывается файлами: /etc/auto.* , среди которых: | Конфигурация описывается файлами: /etc/auto.* , среди которых: | ||
Строка 17: | Строка 23: | ||
* auto.tab: описание отдельных подключаемых ФС, с настройками отличными от остальных | * auto.tab: описание отдельных подключаемых ФС, с настройками отличными от остальных | ||
=auto.master= | ==auto.master== | ||
Пример содержимого: | Пример содержимого: | ||
/mnt/auto | /mnt/auto /etc/auto.tab -t 15 | ||
/mnt/net /etc/auto.avahi -t 120 | /mnt/net /etc/auto.avahi -t 120 | ||
/mnt/smb /etc/auto.smb -t 5 | /mnt/smb /etc/auto.smb -t 5 | ||
Строка 30: | Строка 36: | ||
# таймаут подключения при отсутствии обращения | # таймаут подключения при отсутствии обращения | ||
=auto.tab= | При этом нет необходимости определять каждый адрес с сетевыми файловыми системами, и задав один раз строчку для smb можно обращаться к любому компьютеру обратившись к пути: /mnt/smb/server/share или /mnt/smb/192.168.1.1/share (у меня это работало не всегда). | ||
==auto.tab (/etc/auto.avahi, /etc/auto.smb и проч. )== | |||
В этих файле определяются сетевые ресурсы по отдельности. | |||
Поля : | |||
# точка монтирования (внутри, например /mnt/net для файла /etc/auto.avahi) | |||
# опции монтирования (тип файловой системы, права доступа и т.п.) | |||
# монтируемый ресурс (сетевой путь расшариваемого ресурса) | |||
== Примеры (для файла auto.tab): == | |||
===nfs=== | |||
Два примера: | |||
public1 -rw,soft,intr,rsize=8192,wsize=8192,nolock server:/mnt/share/public/ | |||
public2 -ro 192.168.1.1:/mnt/share/public/ | |||
Здесь обращение нужно производить к каталогам /mnt/auto/public1/ и /mnt/auto/public2/ | |||
===samba=== | |||
Простой пример(без авторизации): | |||
public3 -fstype=cifs,noperm ://192.168.1.1/public | |||
Для подключения нескольких расшаренных папок: | |||
public3 -fstype=cifs,noperm /folder1 ://192.168.1.1/public /folder2 ://192.168.1.2/public | |||
Для подключения к расшаренным папкам Windows(без авторизации): | |||
public3 -fstype=cifs,guest ://192.168.1.1/public | |||
Пример с авторизацией: | |||
user1 -fstype=cifs,username=user1,credentials=/etc/auto.smb.auth,noperm ://server/user1 | |||
Пример с авторизацией и установкой прав доступа: | |||
user1 -fstype=cifs,username=user1,credentials=/etc/auto.smb.auth,uid=user1,gid=user1,file_mode=416,dir_mode=488 ://server/user1 | |||
Где содержимое /etc/auto.smb.auth: | |||
username=user1 | |||
password=SeCrEtPaSsWoRd | |||
или | |||
username=domain_user1 | |||
password=SeCrEtPaSsWoRd | |||
domain=DOMAIN_NAME | |||
если используется сеть с доменной аутентификацией. | |||
Обращаться к каталогам /mnt/auto/public3/ и /mnt/auto/user1/ | |||
Пример с аутентификацией Kerberos (актуально для Active Directory и Samba-DC), файл /etc/auto.samba: | |||
share -fstype=cifs,multiuser,cruid=$USER,sec=krb5,domain=TEST.ALT,vers=1.0 ://server.alt/share | |||
Для этого случая в /etc/auto.master потребуется запись вида | |||
/mnt/smb /etc/auto.samba --ghost | |||
Обращаться к каталогу /mnt/smb/share, параметр vers=1.0 нужен только для старых версий серверов. | |||
Если указано несколько ресурсов (см. подключение нескольких расшаренных папок): к каталогам /mnt/auto/public3/folder1 и /mnt/auto/public3/folder2 | |||
В третьем примере с правами доступа параметры file_mode и dir_mode записываются как десятичные константы системного типа mode_t (см. <code>man 2 chmod</code>). | |||
Например 0750 -rwxr-x--- -> 0b111101000 -> 488. | |||
===davfs=== | |||
Пример с яндексом: | |||
yandex -fstype=davfs,rw,uid=user2,gid=group2 :https\://webdav.yandex.ru | |||
Здесь, для авторизации в файл /etc/davfs2/secrets следует добавить: | |||
/mnt/auto/yandex/ yandexuser yandexpassword | |||
Обращаться к каталогу /mnt/auto/yandex/ | |||
При таких настройках у меня возникала следующая проблема. При копировании файлов на сетевую файловую систему, через некоторое время она становилась недоступна. Но при этом копирование продолжалось и по окончании его можно было нормально обратиться и увидеть файлы. При этом обычное монтирование, без autofs, работало нормально. | |||
Если кто нибудь понимает причину (таймауты, кэш, ...), и как исправить, прошу дополнить. | |||
== | = Запуск сервиса = | ||
$ su - | |||
# systemctl enable autofs | |||
# systemctl start autofs | |||
= | =См.также= | ||
*[[NFS]] | |||
=Ссылки= | =Ссылки= | ||
*http://linuxoid.in/Autofs | *Примеры, в частности для sshfs: http://linuxoid.in/Autofs | ||
[[категория:Автомонтирование]] | [[категория:Автомонтирование]] |
Текущая версия от 06:47, 23 июня 2022
Общая информация
Работает следующим образом:
- Задаётся каталог, в котором будет происходить подключение, например /mnt/auto/.
- При необходимости обратиться к сетевой файловой системе, следует обратиться к каталогу с именем этой ФС в этом каталоге. Например /mnt/auto/server/share/.
- При обращении будет произведена попытка смонтировать соответствующий сетевой ресурс.
- При отсутствии обращения, после заданного таймаута, сетевой ресурс будет отмонтирован.
При этом, в нашем примере, каталог /mnt/auto может не существовать при остановленном autofs. При старте он будет создан.
Каталог же /mnt/auto/server/ не должен существовать. В противном случае сетевой ресурс смонтирован не будет.
Установка и настройка
Установите из репозитория:
$ su - # apt-get update # apt-get install autofs
Конфигурация описывается файлами: /etc/auto.* , среди которых:
- auto.master: подключение других конфигурационных файлов
- auto.tab: описание отдельных подключаемых ФС, с настройками отличными от остальных
auto.master
Пример содержимого:
/mnt/auto /etc/auto.tab -t 15 /mnt/net /etc/auto.avahi -t 120 /mnt/smb /etc/auto.smb -t 5
Здесь поля:
- каталог в котором будут подключаться сетевые файловые системы
- файл конфигурации или скрипт (что определяется правами на исполнение указанного файла)
- таймаут подключения при отсутствии обращения
При этом нет необходимости определять каждый адрес с сетевыми файловыми системами, и задав один раз строчку для smb можно обращаться к любому компьютеру обратившись к пути: /mnt/smb/server/share или /mnt/smb/192.168.1.1/share (у меня это работало не всегда).
auto.tab (/etc/auto.avahi, /etc/auto.smb и проч. )
В этих файле определяются сетевые ресурсы по отдельности.
Поля :
- точка монтирования (внутри, например /mnt/net для файла /etc/auto.avahi)
- опции монтирования (тип файловой системы, права доступа и т.п.)
- монтируемый ресурс (сетевой путь расшариваемого ресурса)
Примеры (для файла auto.tab):
nfs
Два примера:
public1 -rw,soft,intr,rsize=8192,wsize=8192,nolock server:/mnt/share/public/ public2 -ro 192.168.1.1:/mnt/share/public/
Здесь обращение нужно производить к каталогам /mnt/auto/public1/ и /mnt/auto/public2/
samba
Простой пример(без авторизации):
public3 -fstype=cifs,noperm ://192.168.1.1/public
Для подключения нескольких расшаренных папок:
public3 -fstype=cifs,noperm /folder1 ://192.168.1.1/public /folder2 ://192.168.1.2/public
Для подключения к расшаренным папкам Windows(без авторизации):
public3 -fstype=cifs,guest ://192.168.1.1/public
Пример с авторизацией:
user1 -fstype=cifs,username=user1,credentials=/etc/auto.smb.auth,noperm ://server/user1
Пример с авторизацией и установкой прав доступа:
user1 -fstype=cifs,username=user1,credentials=/etc/auto.smb.auth,uid=user1,gid=user1,file_mode=416,dir_mode=488 ://server/user1
Где содержимое /etc/auto.smb.auth:
username=user1 password=SeCrEtPaSsWoRd
или
username=domain_user1 password=SeCrEtPaSsWoRd domain=DOMAIN_NAME
если используется сеть с доменной аутентификацией.
Обращаться к каталогам /mnt/auto/public3/ и /mnt/auto/user1/
Пример с аутентификацией Kerberos (актуально для Active Directory и Samba-DC), файл /etc/auto.samba:
share -fstype=cifs,multiuser,cruid=$USER,sec=krb5,domain=TEST.ALT,vers=1.0 ://server.alt/share
Для этого случая в /etc/auto.master потребуется запись вида
/mnt/smb /etc/auto.samba --ghost
Обращаться к каталогу /mnt/smb/share, параметр vers=1.0 нужен только для старых версий серверов.
Если указано несколько ресурсов (см. подключение нескольких расшаренных папок): к каталогам /mnt/auto/public3/folder1 и /mnt/auto/public3/folder2
В третьем примере с правами доступа параметры file_mode и dir_mode записываются как десятичные константы системного типа mode_t (см. man 2 chmod
).
Например 0750 -rwxr-x--- -> 0b111101000 -> 488.
davfs
Пример с яндексом:
yandex -fstype=davfs,rw,uid=user2,gid=group2 :https\://webdav.yandex.ru
Здесь, для авторизации в файл /etc/davfs2/secrets следует добавить:
/mnt/auto/yandex/ yandexuser yandexpassword
Обращаться к каталогу /mnt/auto/yandex/
При таких настройках у меня возникала следующая проблема. При копировании файлов на сетевую файловую систему, через некоторое время она становилась недоступна. Но при этом копирование продолжалось и по окончании его можно было нормально обратиться и увидеть файлы. При этом обычное монтирование, без autofs, работало нормально.
Если кто нибудь понимает причину (таймауты, кэш, ...), и как исправить, прошу дополнить.
Запуск сервиса
$ su - # systemctl enable autofs # systemctl start autofs
См.также
Ссылки
- Примеры, в частности для sshfs: http://linuxoid.in/Autofs