weareinteractive.vsftpd

Rol weareinteractive.vsftpd de Ansible

Estado de Construcción Galaxy Etiquetas de GitHub Estrellas de GitHub

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 a weareinteractive.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: 

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.

  1. Haz un fork
  2. Crea tu rama característica (git checkout -b mi-nueva-característica)
  3. Realiza tus cambios (git commit -am 'Agrega alguna característica')
  4. Envía la rama (git push origin mi-nueva-característica)
  5. 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.

Acerca del proyecto

Installs, configures and adds user for vsftpd

Instalar
ansible-galaxy install weareinteractive.vsftpd
Licencia
mit
Descargas
204.9k
Propietario