weareinteractive.vsftpd
Rol weareinteractive.vsftpd de Ansible
weareinteractive.vsftpd
es un rol de Ansible que:
- instala vsftpd
- configura vsftpd
- gestiona usuarios
Nota:
Dado que Ansible Galaxy ahora soporta organizaciones, este rol se ha movido de
franklinkim.vsftpd
aweareinteractive.vsftpd
!
Instalación
Usando ansible-galaxy
:
$ ansible-galaxy install weareinteractive.vsftpd
Usando requirements.yml
:
- src: weareinteractive.vsftpd
Usando git
:
$ git clone https://github.com/weareinteractive/ansible-vsftpd.git weareinteractive.vsftpd
Dependencias
- Ansible >= 2.4
- {"role"=>"weareinteractive.openssl", "when"=>["vsftpd_enable_ssl|default(true)"], "tags"=>["openssl-dependency", "dependencies", "openssl"]}
Variables
Aquí hay una lista de todas las variables predeterminadas para este rol, que también están disponibles en defaults/main.yml
.
---
#
# vsftpd_users:
# - username: ftpuser
# name: Usuario FTP
# state: presente (por defecto) o ausente
# remove: sí o no (por defecto)
# comment: Usuario FTP para transferencia de archivos
# uid: 13370
# home: /ruta/a/casa
# password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
# vsftpd_config:
# local_umask: 022
# vsftpd_seboolean:
# ftp_home_dir: sí
# ftpd_full_access: no
#
# definir paquete (versión)
vsftpd_package: vsftpd
# usuarios a crear con nologin
vsftpd_users: []
# iniciar al arrancar
vsftpd_service_enabled: yes
# estado actual: iniciado, detenido
vsftpd_service_state: started
# habilitar ssl por defecto
vsftpd_enable_ssl: true
# clave ssl predeterminada
vsftpd_key_file: ssl-cert-snakeoil.key
# certificado ssl predeterminado
vsftpd_cert_file: ssl-cert-snakeoil.pem
# variables de configuración
vsftpd_config: {}
# plantilla de configuración a instalar, relativa a la raíz del repositorio de ansible
vsftpd_config_template:
# booleanos SELinux opcionales a establecer, por ejemplo, para RedHat
vsftpd_seboolean: {}
Manejadores
Estos son los manejadores definidos en handlers/main.yml
.
---
- name: reiniciar vsftpd
service:
name: vsftpd
state: restarted
cuando: vsftpd_service_state != 'stopped'
# Ignorar errores debido a: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754762;msg=9
ignore_errors: sí
Uso
Este es un ejemplo de un playbook:
---
- hosts: all
roles:
- weareinteractive.vsftpd
vars:
vsftpd_users:
- username: ftpuser
name: Usuario FTP
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
Pruebas
$ git clone https://github.com/weareinteractive/ansible-vsftpd.git
$ cd ansible-vsftpd
$ make test
Contribuyendo
En lugar de una guía de estilo formal, procura mantener el estilo de codificación existente. Agrega pruebas unitarias y ejemplos para cualquier nueva funcionalidad o cambios.
- Haz un fork
- Crea tu rama característica (
git checkout -b mi-nueva-característica
) - Realiza tus cambios (
git commit -am 'Agrega alguna característica'
) - Envía la rama (
git push origin mi-nueva-característica
) - Crea una nueva Pull Request
Nota: Para actualizar el archivo README.md
, por favor instala y ejecuta ansible-role
:
$ gem install ansible-role
$ ansible-role docgen
Licencia
Copyright (c) We Are Interactive bajo la licencia MIT.
ansible-galaxy install weareinteractive.vsftpd