Autofs
Материал из ALT Linux Wiki
Sinaps (обсуждение | вклад) (→Настройка) |
Ivzeivze (обсуждение | вклад) (Для случая samba с доменами) |
||
(15 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
+ | = Общая информация = | ||
+ | |||
+ | Работает следующим образом: | ||
+ | |||
+ | * Задаётся каталог, в котором будет происходить подключение, например /mnt/auto/. | ||
+ | * При необходимости обратиться к сетевой файловой системе, следует обратиться к каталогу с именем этой ФС в этом каталоге. Например /mnt/auto/server/share/. | ||
+ | * При обращении будет произведена попытка смонтировать соответствующий сетевой ресурс. | ||
+ | * При отсутствии обращения, после заданного таймаута, сетевой ресурс будет отмонтирован. | ||
+ | |||
+ | При этом, в нашем примере, каталог /mnt/auto может не существовать при остановленном autofs. При старте он будет создан. | ||
+ | |||
+ | Каталог же /mnt/auto/server/ не должен существовать. В противном случае сетевой ресурс смонтирован не будет. | ||
+ | |||
=Настройка= | =Настройка= | ||
- | + | Конфигурация описывается файлами: /etc/auto.* , среди которых: | |
* auto.master: подключение других конфигурационных файлов | * auto.master: подключение других конфигурационных файлов | ||
* auto.tab: описание отдельных подключаемых ФС, с настройками отличными от остальных | * auto.tab: описание отдельных подключаемых ФС, с настройками отличными от остальных | ||
- | =auto.master= | + | ==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== | ||
+ | |||
+ | В этом файле определяются сетевые ресурсы по отдельности. | ||
+ | |||
+ | Примеры: | ||
+ | |||
+ | ===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 | ||
+ | |||
+ | Пример с авторизацией: | ||
+ | |||
+ | 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/ | ||
+ | |||
+ | В третьем примере с правами доступа параметры 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, работало нормально. | |
- | + | Если кто нибудь понимает причину (таймауты, кэш, ...), и как исправить, прошу дополнить. | |
- | = | + | =См.также= |
- | + | *[[NFS]] | |
=Ссылки= | =Ссылки= | ||
- | *http://linuxoid.in/Autofs | + | *Примеры, в частности для sshfs: http://linuxoid.in/Autofs |
[[категория:Автомонтирование]] | [[категория:Автомонтирование]] |
Текущая версия на 08:40, 31 мая 2017
Содержание |
Общая информация
Работает следующим образом:
- Задаётся каталог, в котором будет происходить подключение, например /mnt/auto/.
- При необходимости обратиться к сетевой файловой системе, следует обратиться к каталогу с именем этой ФС в этом каталоге. Например /mnt/auto/server/share/.
- При обращении будет произведена попытка смонтировать соответствующий сетевой ресурс.
- При отсутствии обращения, после заданного таймаута, сетевой ресурс будет отмонтирован.
При этом, в нашем примере, каталог /mnt/auto может не существовать при остановленном autofs. При старте он будет создан.
Каталог же /mnt/auto/server/ не должен существовать. В противном случае сетевой ресурс смонтирован не будет.
Настройка
Конфигурация описывается файлами: /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
В этом файле определяются сетевые ресурсы по отдельности.
Примеры:
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
Пример с авторизацией:
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/
В третьем примере с правами доступа параметры 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, работало нормально.
Если кто нибудь понимает причину (таймауты, кэш, ...), и как исправить, прошу дополнить.
См.также
Ссылки
- Примеры, в частности для sshfs: http://linuxoid.in/Autofs