README.md

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 может отличаться в зависимости от дистрибутива Linux
    • options: Опции монтирования для файловой системы.
    • 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.

Описание
autofs-config — это Perl-скрипт для автоматизации настройки AutoFS с использованием YAML-файлов.
Релизы
2025-08-09
последний
Конвейеры
0 успешных
0 с ошибкой
Разработчики