vsftpd

Роль weareinteractive.vsftpd для Ansible

Статус сборки Galaxy Теги GitHub Звезды GitHub

weareinteractive.vsftpd — это роль для Ansible, которая:

  • устанавливает vsftpd
  • настраивает vsftpd
  • управляет пользователями

Примечание:

В связи с тем, что Ansible Galaxy теперь поддерживает организации, эта роль была перенесена из franklinkim.vsftpd в weareinteractive.vsftpd!

Установка

С помощью ansible-galaxy:

$ ansible-galaxy install weareinteractive.vsftpd

С помощью requirements.yml:

- src: weareinteractive.vsftpd

С помощью git:

$ git clone https://github.com/weareinteractive/ansible-vsftpd.git weareinteractive.vsftpd

Зависимости

  • Ansible >= 2.4
  • {"role"=>"weareinteractive.openssl", "when"=>["vsftpd_enable_ssl|default(true)"], "tags"=>["openssl-dependency", "dependencies", "openssl"]}

Переменные

Вот список всех переменных по умолчанию для этой роли, которые также доступны в defaults/main.yml.

---
#
# vsftpd_users:
#   - username: ftpuser
#     name: FTP User
#     state: present (по умолчанию) или absent
#     remove: yes или no (по умолчанию)
#     comment: FTP User для передачи файлов
#     uid: 13370
#     home: /path/to/home
#     password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
# vsftpd_config:
#   local_umask: 022
# vsftpd_seboolean:
#    ftp_home_dir: yes
#    ftpd_full_access: no
#

# определите пакет (версия)
vsftpd_package: vsftpd
# пользователи для создания с nologin
vsftpd_users: []
# запуск при загрузке
vsftpd_service_enabled: yes
# текущее состояние: started, stopped
vsftpd_service_state: started
# включить ssl по умолчанию
vsftpd_enable_ssl: true
# файл ssl ключа по умолчанию
vsftpd_key_file: ssl-cert-snakeoil.key
# ssl сертификат по умолчанию
vsftpd_cert_file: ssl-cert-snakeoil.pem
# переменные конфигурации
vsftpd_config: {}
# шаблон конфигурации для установки, относительно корня репозитория ansible
vsftpd_config_template:
# необязательные booleans SELinux для установки, например, для RedHat
vsftpd_seboolean: {}

Обработчики

Это обработчики, которые определены в handlers/main.yml.

---

- name: перезапустить vsftpd
  service:
    name: vsftpd
    state: restarted
  when: vsftpd_service_state != 'stopped'
  # Игнорировать ошибки из-за: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754762;msg=9
  ignore_errors: yes

Использование

Вот пример плейбука:

---

- hosts: all
  roles:
    - weareinteractive.vsftpd
  vars:
    vsftpd_users:
       - username: ftpuser
         name: FTP User
         password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
    vsftpd_config:
      listen_port: 990
      local_enable: YES
      write_enable: YES
      chroot_local_user: YES
      xferlog_enable: YES
      log_ftp_protocol: YES
      allow_writeable_chroot: YES

Тестирование

$ git clone https://github.com/weareinteractive/ansible-vsftpd.git
$ cd ansible-vsftpd
$ make test

Участие

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

  1. Скопируйте репозиторий
  2. Создайте новую ветку (git checkout -b my-new-feature)
  3. Зафиксируйте ваши изменения (git commit -am 'Добавить новую функцию')
  4. Запушьте в ветку (git push origin my-new-feature)
  5. Создайте новый Pull Request

Примечание: Для обновления файла README.md пожалуйста, установите и выполните ansible-role:

$ gem install ansible-role
$ ansible-role docgen

Лицензия

Авторские права (c) We Are Interactive по лицензии MIT.

О проекте

Installs, configures and adds user for vsftpd

Установить
ansible-galaxy install weareinteractive/ansible-vsftpd
Лицензия
mit
Загрузки
202916
Владелец