vsftpd
Роль weareinteractive.vsftpd для Ansible
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
Участие
В отсутствие формального руководства по стилю, позаботьтесь о том, чтобы сохранить существующий стиль кодирования. Добавляйте модульные тесты и примеры для любой новой или измененной функциональности.
- Скопируйте репозиторий
- Создайте новую ветку (
git checkout -b my-new-feature
) - Зафиксируйте ваши изменения (
git commit -am 'Добавить новую функцию'
) - Запушьте в ветку (
git push origin my-new-feature
) - Создайте новый Pull Request
Примечание: Для обновления файла README.md
пожалуйста, установите и выполните ansible-role
:
$ gem install ansible-role
$ ansible-role docgen
Лицензия
Авторские права (c) We Are Interactive по лицензии MIT.
ansible-galaxy install weareinteractive/ansible-vsftpd