weareinteractive.vsftpd
Ansible weareinteractive.vsftpd Rolle
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
zuweareinteractive.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.
- Forke es
- Erstelle deinen Feature-Branch (
git checkout -b mein-neues-feature
) - Committe deine Änderungen (
git commit -am 'Füge eine Funktion hinzu'
) - Push zu dem Branch (
git push origin mein-neues-feature
) - 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.
ansible-galaxy install weareinteractive.vsftpd