manala.proftpd

#######################################################################################################

:exclamation: УСТАРЕВШИЙ :exclamation:

Этот репозиторий и связанная с ним роль устарели в пользу Manala Ansible Collection

Вы найдете информацию о его использовании в репозитории коллекции

#######################################################################################################

Ansible Роль: ProFTPd Статус сборки

:exclamation: Сообщите о проблемах и отправьте запрос на добавление в основной репозиторий Ansible Role :exclamation:

Эта роль занимается настройкой ProFTPd.

Она является частью Manala Ansible стека, но также может использоваться как отдельный компонент.

Требования

Отсутствуют.

Зависимости

Отсутствуют.

Установка

Ansible 2+

Используя ansible galaxy cli:

ansible-galaxy install manala.proftpd

Используя файл требований ansible galaxy:

- src: manala.proftpd

Обработчики роли

Название Тип Описание
proftpd restart Service Перезапустить сервер proftpd

Переменные роли

Название По умолчанию Тип Описание
manala_proftpd_install_packages ~ Массив Пакеты-зависимости для установки
manala_proftpd_install_packages_default ['proftpd-basic'] Массив Пакеты-зависимости по умолчанию
manala_proftpd_configs_exclusive false Логический Эксклюзивность конфигураций
manala_proftpd_configs_dir '/etc/proftpd/conf.d' Строка Путь к директории с конфигурациями
manala_proftpd_configs_defaults {} Строка Конфигурации по умолчанию
manala_proftpd_configs [] Массив Конфигурации
manala_proftpd_users_file '/etc/ftpd.passwd' Строка Путь к файлу определения аккаунтов пользователей
manala_proftpd_users_template 'users/_default.j2' Строка Путь к шаблону определения аккаунтов пользователей
manala_proftpd_users_defaults {...} Массив Значения по умолчанию для пользователей ProFTPd
manala_proftpd_users [] Массив Аккаунты пользователей ProFTPd

Пример настройки

Ключ manala_proftpd_configs предназначен для того, чтобы позволить вам определить конфигурацию на основе выбранного формата шаблона.

manala_proftpd_configs_exclusive позволяет очистить существующие файлы конфигурации proFTPd в директории, определенной ключом manala_proftpd_configs_dir. Это сделано для того, чтобы избежать влияния старых или вручную созданных файлов на текущую конфигурацию.

manala_proftpd_configs_exclusive: true

Можно указать состояние (present|absent).

manala_proftpd_configs:
  # На основе словаря
  - file: default.conf
    config:
      ServerName: Manala
      PassivePorts: 10000 10030
      DefaultRoot: "~"
      AuthOrder: mod_auth_file.c
      AuthUserFile: /etc/ftpd.passwd
      RequireValidShell: false
  # На основе массива словарей (устарело)
  - file: default_deprecated.conf
    config:
      - ServerName: Manala
      - PassivePorts: 10000 10030
      - DefaultRoot: "~"
      - AuthOrder: mod_auth_file.c
      - AuthUserFile: /etc/ftpd.passwd
      - RequireValidShell: false
  # На основе содержимого
  - file: content.conf
    config: |
      <Anonymous ~ftp>
        User  ftp
        Group nogroup
      </Anonymous>
  # На основе шаблона
  - file: template.conf
    template: my_proftpd_template.conf.j2
    config:
      Foo: bar
  # Убедиться, что конфигурации нет
  - file: absent.conf
    state: absent # "present" по умолчанию
  # Игнорировать конфигурацию
  - file: ignore.conf
    state: ignore
  # Собирать конфигурации
  - "{{ my_custom_configs_array }}"

VirtualHost

Вы также можете использовать настройку VirtualHost

  - file: virtual_host_foo.conf
    config:
      - VirtualHost ftp.foo.com:
        - ServerName: Foo FTP Server
        - MaxClients: 10
        - MaxLoginAttempts: 1
        - Limit LOGIN:
          - Order: Allow,Deny
          - AllowUser: foo
          - Deny: from all
        - DefaultRoot: "~"
        - Directory /srv/ftp/docs:
          - Limit ALL:
            - DenyAll

Настройка аккаунтов пользователей

Используйте ключ manala_proftpd_users_template для определения пользователей, которым разрешен доступ к FTP-хранилищу.

manala_proftpd_users_defaults:
  uid: 1337 # Будет применен по умолчанию к пользователям
  gid: 7331

manala_proftpd_users:
  - name: manala
    password: "$1$KBijsXOEr4"b$9HEyZDLPnSe3SXq0n66oE3y/"
    home: /srv/my_dir
    shell: /bin/false
  - name: toto
    password: "$1$9f19dba0ce5ece883b53275dcc1721b9"
    home: /home/toto
    shell: /bin/false
    mode: "0755"
    uid: 1000
    gid: 1000

Мы настоятельно рекомендуем генерировать хэш пароля SHA2. На Linux его можно сгенерировать с помощью: echo -n yourpassword | mkpasswd --method=sha-512 -

Пример плейбука

- hosts: servers
  roles:
    - role: manala.proftpd

Лицензия

MIT

Информация об авторе

Manala (http://www.manala.io/) — это проект с открытым исходным кодом, поддерживаемый французским веб-агентством (ELAO)

О проекте

Handle proftpd

Установить
ansible-galaxy install manala.proftpd
Лицензия
Unknown
Загрузки
8.1k
Владелец
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.