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/ansible-role-proftpd
Лицензия
Unknown
Загрузки
7932
Владелец
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.