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)
ansible-galaxy install manala.proftpd