autofs-config
autofs-config — это Perl-скрипт для автоматизации настройки AutoFS с использованием YAML-файлов. Он поддерживает настройку сетевых папок по протоколам SMB (CIFS), NFS, SSHFS и WebDAV. Скрипт упрощает процесс настройки AutoFS, позволяя пользователям определять свои конфигурации в структурированном YAML-формате.
Для работы требуются права суперпользователя.
# afs-cf
ИЛИ
sudo afs-cf
Возможности
- Конфигурация через YAML: Определяйте конфигурации AutoFS в простом и читаемом YAML-формате.
- Поддержка SMB, NFS, SSHFS и WebDAV: Настройка сетевых папок через SMB (CIFS), NFS, SSHFS и WebDAV.
- Управление учетными данными: Автоматическое создание и управление файлами с учетными данными для SMB и WebDAV.
- Шаблоны: Быстрая генерация YAML-шаблонов для SMB, NFS, SSHFS и WebDAV.
Зависимости
Убедитесь, что в вашей системе установлены следующие инструменты и библиотеки:
- Perl
- YAML::PP (Perl-модуль)
- Term::ReadKey (Perl-модуль)
- AutoFS
- cifs-utils (для SMB/CIFS)
- nfs-common (для NFS)
- davfs2 (для WebDAV)
- sshfs, openssh-client и fuse (для SSHFS)
Использование
Основное использование
Чтобы применить конфигурацию из YAML-файла:
sudo afs-cf -a -f /path/to/config.yaml
Опции
-a: Применить конфигурацию монтирования.-p: Создать файл с учетными данными для SMB.-d: Удалить конфигурацию точки монтирования.-f|--file: Указать YAML-файл конфигурации.-r: Перезапустить AutoFS после применения конфигурации.--templates: Показать шаблон для SMB или NFS.-s|--show-mounts: Отобразить настроенные точки монтирования.-e: Шифрование пароля.-h|--help: Показать справочное сообщение.
Примеры
Применить конфигурацию и создать файл с учетными данными:
sudo afs-cf -a -p -f /path/to/config.yaml
Зашифровать пароль в YAML-файле:
sudo afs-cf -e -f /path/to/config.yaml
Применить конфигурацию, создать файл с учетными данными и перезагрузить AutoFS:
sudo afs-cf -a -p -r -f /path/to/config.yaml
Показать шаблон для SMB:
sudo afs-cf --templates smb
Удалить конфигурацию точки монтирования:
sudo afs-cf -d -f /path/to/config.yaml
Отобразить настроенные точки монтирования:
sudo afs-cf --show-mounts
Структура YAML-файла
Конфигурация SMB (CIFS)
general:
name: share
fstype: cifs
mount:
config: /etc/autofs/documents
directory: /samba
master_config: /etc/auto.master
options:
- soft
- intr
- noperm
autofs_options:
- timeout=360
- browse
credentials:
username: username
password: password
file: /etc/autofs/secret_file
network:
paths:
- ip: 192.168.122.204
folder: /documents
share: '"share name with spaces"'
- ip: 192.168.122.205
folder: /media
share: media
Конфигурация NFS
general:
name: nfs_share
fstype: nfs
mount:
config: /etc/autofs/documents
directory: /nfs
master_config: /etc/auto.master
options:
- rw
- soft
autofs_options:
- timeout=360
- browse
network:
paths:
- ip: 192.168.122.204
share: /srv/shared_dir
Конфигурация SSHFS
general:
name: sshfs_share
fstype: sshfs
mount:
config: /etc/autofs/documents
directory: /sshfs
master_config: /etc/auto.master
options:
- rw
- allow_other
autofs_options:
- timeout=360
- browse
credentials:
username: user
file: /home/user/.ssh/id_rsa
network:
paths:
- ip: 192.168.122.204
share: /srv/shared_dir
Конфигурация WebDAV
general:
name: webdav_share
fstype: davfs
mount:
config: /etc/autofs/documents
directory: /webdav
master_config: /etc/auto.master
options:
- rw
autofs_options:
- browse
credentials:
username: username
password: password
file: /etc/davfs2/secrets
network:
paths:
- url: https://webdav.example.com
Ключевые параметры
general:name: Имя точки монтирования.fstype: Тип файловой системы (cifs, nfs, sshfs или davfs).
mount:config: Путь к файлу конфигурации AutoFS.directory: Директория, в которую будет смонтирована сетевая папка.master_config: Путь к файлуauto.master. Примечание: Расположениеauto.masterможет отличаться в зависимости от дистрибутива Linuxoptions: Опции монтирования для файловой системы.autofs_options: Опции для AutoFS.
credentials(опционально для SMB, SSHFS и WebDAV):username: Имя пользователя для аутентификации.password: Пароль для аутентификации.file: Путь к файлу с учетными данными.
network:paths: Список сетевых путей для монтирования.ip: IP-адрес сервера.folder: Локальная папка для монтирования.share: Общая папка на сервере. Если имя папки содержит пробелы или специальные символы, заключите его в двойные кавычки внутри одинарных, например:'"имя папки с пробелами"'.url: Полный URL-адрес ресурса WebDAV (например, https://webdav.example.com/path).
Шаблоны
Вы можете сгенерировать шаблоны для конфигураций SMB, NFS, SSHFS и WebDAV с помощью опции --templates:
afs-cf --templates smb
Это выведет шаблон YAML-конфигурации для SMB, который можно скопировать и изменить.
Вклад в проект
Предложения приветствуются! Пожалуйста, откройте проблему или отправьте запрос на слияние, если у вас есть какие-либо улучшения или исправления ошибок.
Лицензия
Этот проект лицензирован под MIT License.