weareinteractive.vsftpd

Ansible weareinteractive.vsftpd Rolle

Build Status Galaxy GitHub Tags GitHub Stars

weareinteractive.vsftpd ist eine Ansible Rolle, die:

  • vsftpd installiert
  • vsftpd konfiguriert
  • Benutzer verwaltet

Hinweis:

Da Ansible Galaxy jetzt Organisationen unterstützt, wurde diese Rolle von franklinkim.vsftpd zu weareinteractive.vsftpd verschoben!

Installation

Mit ansible-galaxy:

$ ansible-galaxy install weareinteractive.vsftpd

Mit requirements.yml:

- src: weareinteractive.vsftpd

Mit git:

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

Abhängigkeiten

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

Variablen

Hier ist eine Liste der Standardvariablen für diese Rolle, die auch in defaults/main.yml verfügbar sind.

---
#
# vsftpd_users:
#   - username: ftpuser
#     name: FTP Benutzer
#     state: present (Standard) oder absent
#     remove: ja oder nein (Standard)
#     comment: FTP Benutzer für Dateiübertragungen
#     uid: 13370
#     home: /pfad/zum/home
#     password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
# vsftpd_config:
#   local_umask: 022
# vsftpd_seboolean:
#    ftp_home_dir: ja
#    ftpd_full_access: nein
#

# Paket definieren (Version)
vsftpd_package: vsftpd
# Benutzer ohne Login erstellen
vsftpd_users: []
# Beim Booten starten
vsftpd_service_enabled: ja
# Aktueller Zustand: gestartet, gestoppt
vsftpd_service_state: gestartet
# SSL standardmäßig aktivieren
vsftpd_enable_ssl: true
# Standard SSL Schlüssel
vsftpd_key_file: ssl-cert-snakeoil.key
# Standard SSL Zertifikat
vsftpd_cert_file: ssl-cert-snakeoil.pem
# Konfigurationsvariablen
vsftpd_config: {}
# Konfigurationsvorlage, die installiert werden soll, relativ zum Stammverzeichnis des Ansible-Repositories
vsftpd_config_template:
# optionale SELinux Booleans, die gesetzt werden sollen, z. B. für RedHat
vsftpd_seboolean: {}

Handler

Dies sind die Handler, die in handlers/main.yml definiert sind.

---

- name: vsftpd neu starten
  service:
    name: vsftpd
    state: restarted
  when: vsftpd_service_state != 'stopped'
  # Fehler ignorieren wegen: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754762;msg=9
  ignore_errors: ja

Verwendung

Hier ist ein Beispiel-Playbook:

---

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

Testen

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

Mitwirken

Wenn es keinen formalen Stilrichtlinien gibt, achte darauf, den bestehenden Code-Stil beizubehalten. Füge Unit-Tests und Beispiele für neue oder geänderte Funktionen hinzu.

  1. Forke es
  2. Erstelle deinen Feature-Branch (git checkout -b mein-neues-feature)
  3. Committe deine Änderungen (git commit -am 'Füge eine Funktion hinzu')
  4. Push zu dem Branch (git push origin mein-neues-feature)
  5. Erstelle eine neue Pull-Anfrage

Hinweis: Um die README.md-Datei zu aktualisieren, installiere und führe ansible-role aus:

$ gem install ansible-role
$ ansible-role docgen

Lizenz

Copyright (c) We Are Interactive unter der MIT-Lizenz.

Über das Projekt

Installs, configures and adds user for vsftpd

Installieren
ansible-galaxy install weareinteractive.vsftpd
Lizenz
mit
Downloads
204.9k