Autofs монтирование сетевого диска
Состояние перевода: На этой странице представлен перевод статьи Fstab. Дата последней синхронизации: 16 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Файл fstab(5) используется для настройки параметров монтирования различных блочных устройств, разделов на диске и удаленных файловых систем.
Он состоит из набора определений файловых систем. Каждая файловая система занимает свою строку. Эти определения динамически преобразуются в юниты монтирования systemd во время загрузки системы. При этом производится автоматическое разрешение зависимостей: службы, которые зависят от конкретной файловой системы, запускаются только после ее монтирования, а удаленные файловые системы вроде NFS или Samba, в свою очередь, монтируются только после того, как будет установлено сетевое подключение. Таким образом, и локальные, и удаленные файловые системы, указанные в /etc/fstab , будут правильно смонтированы без дополнительной настройки. По умолчанию, при монтировании также производится запуск проверки файловой системы программой fsck. За подробной информацией обратитесь к man-странице systemd.mount(5) .
При монтировании с помощью mount fstab используется для определения точки монтирования, если указано только устройство, и наоборот. При этом параметры монтирования также берутся из fstab.
Определение файловой системы
Конкретное место расположения файловой системы может быть определено различными способами. В файле /etc/fstab можно указать имя файла устройства, его метку или UUID (в том числе GPT-метку и GPT-UUID для дисков GPT). Определение по UUID или PARTUUID является наиболее предпочтительным способом. Подробнее об этом вы можете узнать на странице Постоянные имена для блочных устройств — рекомендуется прочесть её перед продолжением чтения данной статьи.
Далее приведены примеры определений файловых систем с использованием каждого из способов. Вывод lsblk -f and blkid для этих примеров вы можете найти на странице Постоянные имена для блочных устройств.
Автомонтирование GPT-раздела
Защищенной сетевой файловой системой для работы с информацией ограниченного доступа в Astra Linux Special Edition является Samba SMB/CIFS.
При работе в Astra Linux Special Edition с включенной политикой мандатного управления доступом (МРД) и обработкой информации ограниченного доступа применять сетевую файловую систему NFS для хранения данных в общем случае не рекомендуется.
NFS (сокращение от Network File System, Сетевая Файловая Система) - сервис, обеспечивающий общий доступ к файлам и каталогам систем *nix / Linux. Файловая система NFS позволяет монтировать удалённые разделяемые файлы подобно локальным. Существует в двух вариантах:
- вариант nfs-kernel -server , работающий на уровне ядра (входит в состав Astra Linux)
- и вариант работающий на уровне пользовательских программ (в состав Astra Linux не входит)
В Astra Linux Special Edition для того, чтобы включить NFS v2, нужно добавить опцию "-V 2" в две переменные в файле /etc/default/nfs-kernel-server (второй переменной по умолчанию нет, её надо создавать):
- Сервер NFS - 192.168.1.10;
- Клиент NFS - 192.168.1.20.
Пакеты nfs-kernel-server (сервер) и nfs-common (клиент) входят в стандартный дистрибутив Astra Linux Special Edition, и доступны в сетевом репозитории Astra Linux Common Edition. Поддержка файловой системы NFS интегрирована в ядро всех ОС Astra Linux.
По умолчанию пакет nfs-kernel-server не устанавливается. Установить сервер nfs и клиент nfs-common можно из графического менеджера пакетов (см. Графический менеджер пакетов synaptic) , или из командной строки.
При установке пакетов для работы с файловой системой NFS будет автоматически установлена служба rpcbind. Использование службы rpcbind несовместимо с работой на ненулевых уровнях конфиденциальности. Для работы с включенным МРД на ненулевых уровнях конфиденциальности следует использовать рекомендованную сетевую файловую систему Samba SMB/CIFS.
Установка сервера из командной строки:
Дополнительно, можно установить пакет "монтирования ресурсов NFS по запросу", позволяющий монтировать ресурсы только при обращениях к ним, см. Autofs монтирование по запросу.
Права доступа AutoFS
Если AutoFS не работает правильно, убедитесь в том, что права доступа для файлов шаблонов установлены правильно, иначе AutoFS не будет запускаться. Это может случиться, если Вы сделали резервную копию способом, который не сохраняет права. Вот как должны быть установлены права доступа для файлов конфигурации:
- 0644 - /etc/autofs/auto.master
- 0644 - /etc/autofs/auto.media
- 0644 - /etc/autofs/auto.misc
- 0644 - /etc/conf.d/autofs
Если Вы получаете ошибки в /var/log/daemon.log , подобные этим, значит у Вас проблемы с правами доступа:
Troubleshooting and tweaks
This section contains a few solutions for common issues with AutoFS.
Contents
По меткам
Запустите lsblk -f , чтобы отобразить список разделов. Укажите метки из столбца LABEL с префиксом LABEL= :
Автоматическое монтирование ресурса при загрузке
Чтобы ресурс NFS монтировался автоматически при перезагрузки ОС, его нужно зарегистрировать в файле /etc/fstab добавив строчку вида
NFS network mounts
Note: Each host name needs to be resolveable, e.g. the name and IP address in /etc/hosts or via DNS and make sure you have nfs-utils installed and configured. You also have to enable rpcbind to browse shared directories.
For instance, if you have a remote server fileserver (the name of the directory is the hostname of the server) with an NFS share named /home/share , you can just access the share by typing:
Note: Please note that ghosting (i.e. automatically creating directory placeholders before mounting shares) is enabled by default; although, AutoFS installation notes claim to remove that option from /etc/conf.d/autofs in order to start the AutoFS daemon.
The -hosts option uses a similar mechanism as the showmount command to detect remote shares. You can see the exported shares by typing:
Replacing with the name of your own server.
Manual NFS configuration
To mount a NFS share for file_server on /srv/shared_dir at location /mnt/foo , add a new configuration, e.g. file_server.autofs :
Автоматическое монтирование ресурса по запросу
Автоматическое монтирование ресурсов NFS можно выполнить с помощью пакета autofs.
При работе в сессии с ненулевой классификационной меткой с одновременным использованием файловых систем NFS и Samba возможна нештатная работа графических приложений. Нарушение работы приложения может проявляться, например, "в зависаниях" текстового редактора kate, и вызвано несовместимостью службы rpcbind с работой КСЗ Astra Linux Special Edition. Д ля устранения нарушений работы следует остановить и запретить службу rpcbind:
Для находящихся в эксплуатации систем Astra Linux следует использовать рекомендованную для работы с информацией ограниченного доступа сетевую файловую систему Samba SMB/CIFS.
Autofs - пакет, позволяющий автоматически подключать различные ресурсы (переносные устройства, жесткие диски, сетевые устройства, RAM-диск)
при их использовании, и автоматически их отключать при прекращении использования.
Пакет autofs входит в стандартные дистрибутивы Astra Linux и может быть установлен с помощью Графический менеджер пакетов synaptic, или из командной строки командой:
Основная конфигурация пакета autofs хранится в файле /etc/auto.master .
Каждая стройка файла состоит из указания точки монтирования и параметров монтирования.
Далее приведены примеры типовых настроек, подробно формат файла конфигурации описан в
После внесения изменений в конфигурационные файлы для того, чтобы они вступили в силу необходимо перезапустить сервис:
Для проверки успешности настройки можно перейти в точку монтирования, например, командой
При этом настроенный ресурс должен примонтироваться автоматически.
Автоматическое монтирование ресурсов
Пример монтирования ресурса из статьи про Сетевая файловая система NFS.
Монтируем с использованием autofs ресурс из предыдущего примера 192.168.1.10:/srv/nfsshare/ в ранее созданную точку монтирования /mnt/share.
Добавим в конец файла /etc/auto.master строку:
- /mnt указывает кореневой каталог для монтирования ресурсов;
- /etc/auto.nfs указывает файл с описанием правил монтирования ресурсов NFS;
- timeout указывает время неактивности, после которого ресурс будет отмонтирован автоматически. Этот параметр указывать не обязательно, таймаут в autofs по умолчанию 300 секунд (5 минут), то есть ресурс будет автоматически отмонтирован после 5 минут бездействия.
Далее, создадим файл /etc/auto.nfs с описанием правил монтирования ресурсов NFS.
Этот файл должен содержать отдельную строку для каждого ресурса NFS
Формат строки: [] .
Точки монтирования будут размещаться в корневом каталоге для монтирования ресурсов, указанном в /etc/auto.master:
share -fstype=nfs4,rw,soft,intr 192.168.1.10:/srv/nfsshare
- share – точка монтирования в кореневом каталоге монтирования (/mnt/share)
- -fstype=nfs4,rw,soft,intr – опции монтирования
- 192.168.1.10:/nfsshare– адрес ресурса
Это создаст новую точку автоматического монтирования /mnt/share/ для ресурса /srv/nfsshare/, экспортируемого сервером с IP-адресом “192.168.1.10”
Автоматическое монтирование ресурсов Samba
Добавить в файл /etc/auto.master:
Файл /etc/auto.smb создавать не требуется, это стандартный сценарий, входящий в состав пакета autofs
После перезапуска autofs для автоматического подключения ресурсов достаточно обратиться к ресурсу по имени хоста, например:
Данный способ может не работать с некоторыми серверами Windows. В таком случае возможно использовать монтирование ресурсов как ресурсов CIFS.
По именам устройств
Запустите lsblk -f , чтобы отобразить список разделов. Укажите имена устройств с префиксом /dev/ .
Важно: Эти имена не являются постоянными и могут меняться при перезагрузках, поэтому в файлах конфигурации лучше их не использовать.
Removable media
Removable devices are assigned block device locations according to the next available spot, e.g. if /dev/sd are already occupied, the next removable media will be given block /dev/sdd . Instead of assigning a mount point based on an unreliable block device path, a more robust approach is to use the UUID or PARTUUID of the removable media as the location in the map file.
For example, to mount a specific USB drive to the path /mnt/black , configure the template file and map file:
Use blkid to find the UUID of the partition to mount, then generate the map file:
Configuration
This article or section needs expansion.
AutoFS uses template files for configuration which are located in /etc/autofs The main template is called auto.master , which can point to one or more other templates for specific media types.
- Open the file /etc/autofs/auto.master with your favorite editor, you will see something similar to this:
The first value on each line determines the base directory under which all the media in a template are mounted, the second value is which template to use. The default base path is /media , but you can change this to any other location you prefer. For instance:
Note: Make sure the template files ends with a newline (press ENTER after last word). If there is no correct EOF (end of file) line, the AutoFS daemon will not properly load.
Tip: The optional parameter timeout sets the amount of seconds after which to unmount directories. Setting this value to 0 will disable the timeout.
The base directory will be created if it does not exist on your system. The base directory will be mounted on to load the dynamically loaded media, which means any content in the base directory will not be accessible while autofs is on. This procedure is however non-destructive, so if you accidentally automount into a live directory you can just change the location in auto.master and restart AutoFS to regain the original contents.
If you still want to automount to a target non-empty directory and want to have the original files available even after the dynamically loaded directories are mounted, you can use autofs to mount them to another directory (e.g. /var/autofs/net ) and create soft links.
Alternatively, you can have autofs mount your media to a specific folder, rather than inside a common folder.
Note: This can cause problems with resources getting locked if the connection to the share is lost. When trying to access the folder, programs will get locked into waiting for a response, and either the connection has to be restored or the process has to be forcibly killed before unmounting is possible. To mitigate this, only use if you will always be connected to the share, and do not use your home folder or other commonly used folders lest your file browser reads ahead into the disconnected folder
- Open the file /etc/nsswitch.conf and add an entry for automount:
- When you are done configuring your templates (see below), launch the AutoFS daemon as root by enabling and starting the autofs.service .
Devices are now automatically mounted when they are accessed, they will remain mounted as long as you access them.
По UUID GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTUUID без кавычек:
Безопасный экспорт разделяемых ресурсов
Протокол передачи данных NFS поддерживает защитное преобразование данных начиная с версии 4 (NFSv4).
Чтобы избежать подобных ошибок,
проверяйте все настроенные общие ресурсы NFS с помощью команды showmount:
Не рекомендуется использование параметра no_root_squash, так как потенциально создает угрозы безопасности, связанные с возможностью удаленного внедрения в файловую систему вредоносного ПО. По умолчанию, в общих ресурсах NFS пользователь root становится обычным пользователем nfsnobody. Таким образом, владельцем всех файлов, созданных root, становится пользователь nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
После установки клиентского пакета nfs-common, на компьютере - клиенте следует примонтировать разделяемые ресурсы. Список доступных ресурсов можно проверить, выполнив команду:
sudo showmount -e 192.168.1.10
Export list for 192.168.1.10:
/srv/nfsshare 192.168.1.20
Внешние устройства
Если устройство не подключено постоянно, и может отсутствовать во время загрузки системы, монтируйте его с параметром nofail . Это предотвратит появление ошибок при загрузке.
Параметр nofail хорошо комбинируется с x-systemd.device-timeout . Таймаут по умолчанию 90 секунд, из-за чего отсутствие устройства приведёт к увеличению времени загрузки на 90 секунд. Не ставьте таймаут 0, так как это означает бесконечный таймаут.
Installation
Советы и рекомендации
Проблемы с fusermount
По UUID
Запустите lsblk -f , чтобы отобразить список разделов. Укажите идентификаторы из столбца UUID с префиксом UUID= :
Совет: Если вы хотите отобразить только UUID конкретного раздела, используйте команду lsblk -no UUID /dev/sda2 .
Настройка
AutoFS использует для конфигурирования шаблоны, расположенные в /etc/autofs . Основной шаблон называется auto.master , он может указывать на один или несколько других шаблонов для конкретных типов носителей.
- Откройте /etc/autofs/auto.master своим любимым редактором. Вы увидите что-то подобное:
Первое значение в каждой строке определяет базовый каталог, в который носители будут монтироваться, второе значение - шаблон который будет использован. По умолчанию базовый путь /media , но вы можете изменить путь на любое другое значение по вашему желанию. Например:
Примечание: Убедитесь в наличии пустой строки в конце файла шаблона (нажмите ENTER после последнего слова). Если нет корректного EOF (end of file), демон AutoFS не загрузится корректно.
Совет: Дополнительный параметр timeout устанавливает количество секунд, после истечения которых каталоги будут размонтированы. Значение 0 отключает таймаут.
Базовый каталог будет создан, если он не существует. Он станет точкой монтирования, отображающей в себе динамически подключаемые носители, что означает, что существующее содержимое базового каталога будет недоступно, пока autofs работает. Однако это обратимо, так что если вы случайно настроили автомонтирование в непустой каталог, то можно просто прописать другой путь в auto.master и перезапустить AutoFS — содержимое существующего каталога вернётся на место.
Если вы всё равно хотите автомонтирование в непустой каталог и при этом иметь доступ к его содержимому даже во время работы autofs, вы можете настроить autofs на другой каталог (например, /var/autofs/net) и создать символические ссылки на неё:
В качестве альтернативы вы можете настроить монтирование носителей в конкретные каталоги вместо использования общего каталога:
Примечание: Это может вызвать проблемы с блокировкой ресурсов, если соединение до ресурса оказалось потеряно. При обращении к каталогу программы будут зависать в ожидании ответа, и придётся дожидаться возвращения соединения или убивать процесс, чтобы размонтирование стало возможным. Чтобы избежать этого, используйте только если вы всегда подключены к общему ресурсу, и не используйте домашний каталог или другие часто используемые каталоги, чтобы ваш файловый менеджер не пытался читать содержимое отключенного каталога.
- Откройте файл /etc/nsswitch.conf и добавьте запись для автоматического монтирования:
- Когда вы закончите настраивать шаблоны (см. ниже), запустите и включите службу autofs.service .
Теперь устройства автоматически монтируются при обращении и остаются примонтированными всё то время, пока вы их используете.
FTP and SSH (with FUSE)
Remote FTP and SSH servers can be accessed seamlessly with AutoFS using FUSE, a virtual file system layer.
Remote FTP
First, install the curlftpfs package.
Load the fuse module:
Create a /etc/modules-load.d/fuse.conf file containg fuse to load it on each system boot.
Next, add a new entry for FTP servers in /etc/autofs/auto.master :
Create the file /etc/autofs/auto.ftp and add a server using the ftp://myuser:mypassword@host:port/path format:
Note: Your passwords are plainly visible for anyone that can run df (only for mounted servers) or view the file /etc/autofs/auto.ftp .
The line in /etc/autofs/auto.ftp looks like this without user and password:
Create the file /sbin/mount.curl with this code:
Create the file /sbin/umount.curl with this code:
Set the permissions for both files:
After a restart your new FTP server should be accessible through /media/ftp/servername .
Remote SSH
The factual accuracy of this article or section is disputed.
Reason: All the ssh* commands should be executed as the same user, as before this edit. It should not matter if it is root or unprivileged. (Discuss in Talk:Autofs)
These are basic instructions to access a remote filesystem over SSH with AutoFS.
Note: Password-less authentication may be convenient but also has security implications. See SSH keypair for more details
Install the sshfs package.
Load the fuse module:
Create a /etc/modules-load.d/fuse.conf file containg fuse to load it on each system boot if you have not one yet.
When the generator ask for a passphrase, just press ENTER . Using SSH keys without a passphrase is less secure, yet running AutoFS together with passphrases poses some additional difficulties which are not (yet) covered in this article.
Next, copy the public key to the remote SSH server:
As root, see that you can login to the remote server:
Note: This will add the remote server to root's list of known_hosts . Hosts can be also be manually added to /etc/ssh/ssh_known_hosts .
Create a new entry for SSH servers in /etc/autofs/auto.master :
Create the file /etc/autofs/auto.ssh and add an SSH server:
After a restart your SSH server should be accessible through /media/ssh/servername .
Media Transfer Protocol (MTP) is used in some Android devices.
Install the mtpfs package.
Create a new entry for MTP Device in /etc/autofs/auto.misc :
По меткам GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTLABEL без кавычек:
Подготовка
Для развёртывания сервера NFS, как и любого другого сервера:
- рекомендуется назначить серверу постоянный IP-адрес;
- настроить разрешение имён клиентских компьютеров, или назначить им статические IP-адреса;
- выделить ресурс (каталог), который в дальнейшем станет разделяемым. Пример: создание каталога /srv/nfsshare и задание для него полного доступа на чтение и запись:
Корректировка настроек пакета
При работе в операционных системах Astra Linux, выпущенных ранее очередного обновления x.7, для нормального автоматического запуска службы nfs-kernel-server после перезагрузки компьютера внести изменения в его UNIT-файл /etc/systemd/system/multi-user.target.wants/nfs-server.service добавив следующие строки в секцию unit:
Указанные исправления обеспечат запуск службы nfs-server после службы rpcbind. После внесения изменений перезапустить службу:
При работе в Astra Linux Special Edition очередное обновление x.7 указанные действия не требуются.
Экспорт разделяемого ресурса
Для экспорта созданного ранее разделяемого ресурса (каталога) /srv/nfsshare добавить в конфигурационный файл /etc/exports строку
- - постоянный IP-адрес компьютера-клиента (может быть использовано имя компьютера), или, для указания группы компьютеров, можно использовать адрес сети или подстановочный знак "*" (подробнее см. справку man exports);
Строк с записями о разделяемых ресурсах может быть добавлено несколько. После внесения изменений для того, чтобы они вступили в силу, нужно выполнить команду
Samba
Single shares
Add the following to /etc/autofs/auto.master :
where --timeout defines how many seconds to wait before the file system is unmounted. The --browse option creates empty folders for each mount-point in the file in order to prevent timeouts, if a network share cannot be contacted.
Next create a file /etc/autofs/auto.[my_server]
You can specify a user name and password to use with the share in the other_options section:
Multiple shares
You may be specify multiple shares in the /etc/autofs/auto.[my_server] , for instance:
Auto discovery
See the comments in /etc/autofs/auto.smb .
Пробелы в значениях полей
Так как пробельные символы используются в fstab для разделения полей, их нельзя напрямую использовать в значениях полей. Любые пробелы в полях (например, значения PARTLABEL , LABEL или точки монтирования) должны быть заменены специальными управляющими последовательностями, которые состоят из обратной косой черты ( \ ) и трех восьмеричных цифр (например, для пробела это \040 ):
Optional parameters
You can set parameters like timeout systemwide for all AutoFS media in /etc/default/autofs :
- Open the /etc/default/autofs file and edit the OPTIONS line:
- To enable logging (default is no logging at all), uncomment and add --verbose to the OPTIONS line in /etc/default/autofs e.g.:
After restarting the autofs daemon, verbose output is visible in the unit status or in the journal.
Samba
Одиночные ресурсы
Добавьте в /etc/autofs/auto.master :
где --timeout определяет, сколько секунд ждать перед размонтированием. Опция --browse создаёт пустые каталоги для каждой точки монтирования для избегания таймаута, если не удаётся связаться с сетевым ресурсом.
Затем создайте файл /etc/autofs/auto.[мой_сервер]
Можно указать имя пользователя и пароль для общего ресурса в опциях:
Несколько ресурсов
Вы можете указать несколько общих ресурсов в /etc/autofs/auto.[мой_сервер] , например:
Автообнаружение
Смотрите комментарии в /etc/autofs/auto.smb .
Contents
Автоматическое монтирование ресурсов CIFS
Данный способ монтирования может быть неприемлем с точки зрения безопасности
в связи с тем, что пароли хранятся в файле в открытом виде .
Вместе с тем описываемое подключение позволяет использовать ресурсы samba в доверенной локальной сети всем пользователям локальной машины с авторизацией от имени выделенного (непривилегированного) пользователя.
В качестве основы для создания скрипта /etc/auto.cifs использован скрипт auto.smb поставляемый с пакетом autofs5 с небольшими доработками.
Для использования этого способа в дополнение к собственно samba должен быть установлен пакет cifs-utils:
/media/cifs /etc/auto.cifs --timeout=60
Создаем файл /etc/auto.cifs:
credfile="/etc/user-cifs"
username=$(cat $credfile | grep "$key" | awk -F ":" '' | awk -F "%" '')
password=$(cat $credfile | grep "$key" | awk -F ":" '' | awk -F "%" '')
opts="-fstype=cifs,file_mode=0644,username=$username,password=$password,uid=$username,gid=$username"
for P in /bin /sbin /usr/bin /usr/sbin ; do
if [ -x $P/smbclient ] ; then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
Комментарии к файлу
- < opts="-fstype=cifs,file_mode=0644,dir_mode=0755,codepage=866,iocharset=utf8,user=$user_password" >: строка для обеспечения просмотра русских букв на ресурсах windows
- < $SMBCLIENT --user=$user_password -gL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- ' > : строка изменена для обеспечения возможности подключения к samba-ресурсам windows
- < user_password=$(cat $credfile | grep "$key" | awk -F ":" '') > : строка добавлена для получения из файла пароля доступа к ресурсу cifs
Для монтирования ресурсов Windows следует использовать более простую строчку опций монтирования, например для Windows Server 2012:
Для более старых версий Windows Server может понадобиться ограничить версию используемого протокола:
Делаем скрипт auto.cifs ис полняемым :
Создаем файл с паролями доступа к ресурсу cifs /etc/user-cifs со строчками вида:
И в целях безопасности устанавливаем права к файлу /etc/user-cifs только для root:
Если монтирование выполняется на компьютере с настроенной авторизацией через Kerberos, то монтровать ресурсы можно с помощью принципала Kerberos.
Убедиться, что служба CIFS правильно настроена на работу с Kerberos, для чего убедиться, что в файле /etc/request-key.d/cifs.spnego.conf пристутвует опция -t, а если её нет - то добавить её.
В итоге содержимое файла должно быть следующее:
create cifs.spnego * * /usr/sbin/cifs.upcall -t %k
Получить/обновить принципала Kerberos (если монтирование делается от имени суперпользователя, то и принципал должен быть получен от того же пользователя):
Состояние перевода: На этой странице представлен перевод статьи Autofs. Дата последней синхронизации: 17 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
AutoFS даёт возможность автоматического монтирования съёмных носителей и сетевых ресурсов при вставке или обращении к ним.
Опциональные параметры
Вы можете установить параметры, такие как timeout , на общесистемном уровне для всех медиаустройств AutoFS в /etc/default/autofs :
- Откройте файл /etc/default/autofs и отредактируйте строку OPTIONS :
- Чтобы сделать возможным ведение логов (по умолчанию его нет), добавьте --verbose в строку OPTIONS в /etc/default/autofs , например:
После перезапуска демона autofs вы увидите подробный вывод в состоянии юнита или журнале.
Установка
AutoFS permissions
If AutoFS is not working for you, make sure that the permissions of the templates files are correct, otherwise AutoFS will not start. This may happen if you backed up your configuration files in a manner which did not preserve file modes. Here are what the modes should be on the configuration files:
- 0644 - /etc/autofs/auto.master
- 0644 - /etc/autofs/auto.media
- 0644 - /etc/autofs/auto.misc
- 0644 - /etc/conf.d/autofs
If you are getting errors in /var/log/daemon.log similar to this, you have a permissions problem:
Решение проблем и советы
Эта секция содержит несколько решений самых распространённых проблем с AutoFS.
Перемонтирование корневого раздела
Если по какой-то причине корневой раздел был неправильно смонтирован только на чтение, вы можете перемонтировать его с доступом на чтение-запись без перезагрузки, набрав
Параметры atime
- Если файловая система смонтирована с параметром strictatime , то, когда происходит обращение к файлу, в его поле atime записывается текущее время (иными словами, время доступа). Это может быть полезно, когда Linux используется на сервере; на персональном компьютере эта функция обычно не нужна. Недостаток этой функции в том, что даже при чтении файла из кэша (в оперативной памяти) все равно производится медленная операция записи на диск. Использование параметров монтирования noatime , nodiratime или relatime может улучшить производительность доступа к данным, а также уменьшить износ твердотельных (SSD) накопителей.
- Параметр noatime полностью отключает запись времени доступа к файлу. Большинство программ не используют это поле. Но бывают и редкие исключения — например, Mutt полагается на его значение. Для mutt вы можете использовать параметр relatime .
- Параметр nodiratime отключает обновление времени доступа только для каталогов; для остальных файлов время atime будет обновляться всегда.
Примечание: Действие noatime перекрывает собой nodiratime . Нет необходимости указывать оба параметра.
В ядре 4.0 появилась ещё одна опция:
- lazytime уменьшает количество операций записи на диск, сохраняя изменения временных меток inode (время доступа, изменения и создания) только в памяти. Временные метки на диске обновляются только тогда, когда (1) inode файла необходимо обновить для некоторых изменений, не связанных с временными метками файла, (2) происходит синхронизация с диском, (3) восстановленный inode вытесняется из памяти или (4 ), если с момента последней записи на диск хранящейся в памяти копии прошло более 24 часов.
Важно: В случае падения системы даты доступа и изменения файлов могут оказаться устаревшими в пределах 24 часов.
Монтируем ресурс
Чтобы примонтировать разделяемый ресурс на клиентской машине:
Командой mount примонтировать разделяемый каталог /nfsshare сервера NFS (192.168.1.10) в каталог /mnt/share на клиентском компьютере:
Для проверки успешности монтирования можно использовать команду:
Команда выдаст строку (строки) с информацией о примонтированном ресурсе (ресурсах). Кроме того, можно использовать команду проверки свободного места на всех примонтированных ресурсах:
Распознавание нескольких устройств
Использование
Простой пример /etc/fstab , в котором файловые системы идентифицируются по их UUID:
- При выборе типа файловой системы auto команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD/Blu-ray).
- Если корневая файловая система btrfs или XFS, порядок fsck следует всегда указывать 0 вместо 1 . Смотрите fsck.btrfs(8) и fsck.xfs(8) .
Все прописанные в /etc/fstab устройства автоматически монтируются при загрузке системы или при запуске команды mount(8) с параметром -a , если не указана опция noauto . Если есть устройства, прописанные в файле, но не подключенные, это приведёт к ошибке, если не указана опция nofail .
Для более подробной информации смотрите fstab(5) § DESCRIPTION .
Identify multiple devices
Монтирование NFS
Примечание: Каждое имя хоста должно быть разрешимым (resolvable), например, любой IP-адрес в /etc/hosts или заданный через DNS. Убедитесь, что у вас установлен и настроен пакет nfs-utils . Также нужно включить rpcbind для просмотра общих каталогов.
К примеру, есть удалённый сервер fileserver (название каталога является именем хоста сервера) с ресурсом NFS, который называется /home/share , вы можете получить доступ к ресурсу просто набрав:
Примечание: Please note that ghosting (i.e. automatically creating directory placeholders before mounting shares) is enabled by default; although, AutoFS installation notes claim to remove that option from /etc/conf.d/autofs in order to start the AutoFS daemon.
Опция -hosts использует механизм, похожий на команду showmount , для обнаружения удалённых ресурсов. Вы можете посмотреть экспортированные ресурсы с помощью этой команды:
Замените на имя вашего собственного сервера.
Ручная настройка NFS
Чтобы примонтировать NFS-ресурс file_server, располагаемый по удалённому пути /srv/shared_dir , в локальный путь /mnt/foo , добавьте новый файл конфигурации, например file_server.autofs :
Автоматическое монтирование с systemd
Список всех опций монтирования systemd можно посмотреть в systemd.mount(5) .
Локальный раздел
Если есть большой раздел, вы можете разрешить службам, которые не обращаются к нему, запускаться в то время, как он проверяется программой fsck. Для этого добавьте следующие параметры монтирования в запись /etc/fstab для соответствующего раздела:
При этом процедура проверки и монтирования раздела будет запущена только при первой попытке доступа, и ядро будет держать в ожидании все потоки ввода-вывода, связанные с этим разделом, пока он не будет смонтирован. Это полезно в случае, например, очень большого раздела /home .
Примечание: Разделу будет присвоен тип файловой системы autofs , который по умолчанию игнорируется mlocate. Используйте эту возможность с осторожностью.
Удалённая файловая система
Зашифрованная файловая система
Если у вас имеются зашифрованные файловые системы, вы можете также добавить параметр noauto в соответствующие записи в /etc/crypttab . Тогда systemd не будет пытаться открыть зашифрованное устройство во время загрузки системы, а сделает это при первой попытке доступа к файловой системе на этом устройстве, применив указанный файл ключа и затем автоматически смонтировав ФС. Это может дать выигрыш в несколько секунд при загрузке системы, например, если у вас зашифрованный RAID массив: systemd не придется ожидать готовности устройства. Пример записи:
Автоматическое размонтирование
С помощью флага x-systemd.idle-timeout можно указать таймаут бездействия. Например:
В таком случае systemd размонтирует раздел спустя одну минуту неактивности.
Using NIS
AutoFS с версии 5.0.5 имеет более продвинутую поддержку NIS. Чтобы использовать AutoFS вместе с NIS, добавьте yp: в начало имён шаблонов в /etc/autofs/auto.master :
В более ранних версиях NIS (до 5.0.4), вам нужно добавить nis в /etc/nsswitch.conf :
Конфигурация
Основная конфигурация сервиса nfs хранится в файле /etc/exports . Кроме этого файла сервис использует файлы:
- /etc/fstab - записи обо всех файловых системах, включая nfs, автоматически монтируемых при загрузке системы.
- /etc/hosts.allow , /etc/hosts.deny - используется, чтобы решить, принять или отклонить подключения, приходящие с внешних IP-адресов
Using NIS
Version 5.0.5 of AutoFS has more advanced support for NIS. To use AutoFS together with NIS, add yp: in front of the template names in /etc/autofs/auto.master :
On earlier versions of NIS (before 5.0.4), you should add nis to /etc/nsswitch.conf :
FTP и SSH (через Fuse)
Доступ к удалённым FTP- и SSH-серверам может быть легко получен с AutoFS через FUSE, слой виртуальной файловой системы.
Удалённые FTP
Во-первых, установите пакет curlftpfs .
Загрузите модуль fuse:
Создайте файл /etc/modules-load.d/fuse.conf с содержимым fuse для загрузки его при каждом запуске компьютера.
Далее, добавьте новую запись для FTP-серверов в /etc/autofs/auto.master :
Создайте файл /etc/autofs/auto.ftp и добавьте сервер в формате ftp://myuser:mypassword@host:port/path :
Примечание: Ваши пароли может видеть каждый, кто запустит df (только для примонтированных серверов) или откроет файл /etc/autofs/auto.ftp .
Строчка в /etc/autofs/auto.ftp выглядит как эта, без имени пользователя и пароля:
Создайте файл /sbin/mount.curl с кодом:
Создайте файл /sbin/umount.curl с кодом:
Установите права для обоих файлов:
После перезапуска Ваш новый FTP-сервер должен быть доступен через /media/ftp/servername .
Удалённые SSH
The factual accuracy of this article or section is disputed.
Reason: All the ssh* commands should be executed as the same user, as before this edit. It should not matter if it is root or unprivileged. (Discuss in Talk:Autofs (Русский))
Здесь базовые инструкции по доступу к удалённой файловой системе через SSH с помощью AutoFS.
Примечание: Аутентификация без пароля может быть удобной, но также имеет последствия для безопасности. Подробнее смотрите в SSH keys.
Загрузите модуль fuse :
Создайте файл /etc/modules-load.d/fuse.conf с содержимым fuse чтобы загружать его при каждом запуске системы, если вы не создали ранее.
Когда генератор запросит фразу-пароль, просто нажмите ENTER . Использование ключей SSH без фразы-пароля менее безопасно, однако запуск AutoFS с паролем приводит к некоторым дополнительным трудностям, которые (пока) не были освещены в этой статье.
Далее, скопируйте публичный ключ на удалённый SSH сервер:
Скопируйте личный ключ в домашнюю директорию пользователя root, чтобы AutoFS могла его найти:
Вышеприведённое работает, если AutoFS запускается с правами root и по умолчанию не имеет доступа в домашнюю директорию пользователя, содержащую личный ключ.
Как root убедитесь, что вы можете войти на сервер:
Примечание: Это добавит удалённый сервер в список известных хостов known_hosts . Также можно добавить его вручную в /etc/ssh/ssh_known_hosts .
Создайте новый вход для сервера SSH в /etc/autofs/auto.master :
Создайте файл /etc/autofs/auto.ssh и добавьте SSH:
После перезапуска Ваш сервер SSH должен быть доступен через /media/ssh/servername .
Media Transfer Protocol (MTP) используется на некоторых устройствах Android.
Создайте новую запись для MTP в /etc/autofs/auto.misc :
Contents
Отладка проблем с автомонтированием
Для более удобной отладки вы можете запустить automount на переднем плане (не как демон).
AutoFS provides automounting of removable media or network shares when they are inserted or accessed.
Съёмные носители
Съемным устройствам назначаются имена блочных устройств в соответствии со следующим доступным местом, например если /dev/sd уже заняты, съёмный носитель подключится как блочное устройство /dev/sdd . Вместо назначения точки монтирования на основе ненадежного пути к блочному устройству более надежным подходом является использование UUID или PARTUUID съемного носителя в качестве местоположения в map-файле.
Например, чтобы примонтировать определённый USB-диск в путь /mnt/black , настройте файл шаблона и map-файл:
Используйте blkid чтобы найте UUID нужного раздела, затем сгенерируйте map-файл:
Читайте также: