manala.proftpd
#######################################################################################################
:exclamation: ABLEGERUNG :exclamation:
Dieses Repository und die damit verbundene Rolle sind zugunsten der Manala Ansible Collection eingestellt.
Informationen zur Nutzung finden Sie im Repository der Sammlung.
#######################################################################################################
Ansible Rolle: ProFTPd 
:exclamation: Probleme melden und Pull-Requests senden im Haupt-Repository der Ansible-Rollen :exclamation:
Diese Rolle kümmert sich um die Einrichtung von ProFTPd.
Sie ist Teil des Manala Ansible Stacks, kann aber auch als eigenständige Komponente verwendet werden.
Anforderungen
Keine.
Abhängigkeiten
Keine.
Installation
Ansible 2+
Verwendung des Ansible Galaxy CLI:
ansible-galaxy install manala.proftpd
Verwendung der Ansible Galaxy Anforderungsdatei:
- src: manala.proftpd
Rollenhandler
Name | Typ | Beschreibung |
---|---|---|
proftpd restart |
Dienst | ProFTPD-Server neu starten |
Rollenvariablen
Name | Standard | Typ | Beschreibung |
---|---|---|---|
manala_proftpd_install_packages |
~ | Array | Abhängigkeitspakete zur Installation |
manala_proftpd_install_packages_default |
['proftpd-basic'] | Array | Standardabhängigkeitspakete zur Installation |
manala_proftpd_configs_exclusive |
false | Boolean | Exklusivität der Konfigurationen |
manala_proftpd_configs_dir |
'/etc/proftpd/conf.d' | String | Pfad zum Konfigurationsverzeichnis |
manala_proftpd_configs_defaults |
{} | String | Standardkonfigurationen |
manala_proftpd_configs |
[] | Array | Konfigurationen |
manala_proftpd_users_file |
'/etc/ftpd.passwd' | String | Pfad zur Datei mit Benutzerkonten |
manala_proftpd_users_template |
'users/_default.j2' | String | Pfad zur Vorlage für Benutzerkonten |
manala_proftpd_users_defaults |
{...} | Array | Standardbenutzerkonten für ProFTPd |
manala_proftpd_users |
[] | Array | ProFTPd-Benutzerkonten |
Beispielkonfiguration
Der Schlüssel manala_proftpd_configs
ermöglicht es Ihnen, Konfigurationen basierend auf dem gewählten Vorlagenformat zu definieren.
manala_proftpd_configs_exclusive
sorgt dafür, dass vorhandene ProFTPd-Konfigurationsdateien in das durch den Schlüssel manala_proftpd_configs_dir
definierte Verzeichnis verschoben werden. So wird sichergestellt, dass keine alten oder manuell erstellten Dateien die aktuelle Konfiguration beeinträchtigen.
manala_proftpd_configs_exclusive: true
Ein Zustand (present|absent) kann angegeben werden.
manala_proftpd_configs:
# Dictionary-basiert
- file: default.conf
config:
ServerName: Manala
PassivePorts: 10000 10030
DefaultRoot: "~"
AuthOrder: mod_auth_file.c
AuthUserFile: /etc/ftpd.passwd
RequireValidShell: false
# Array-basiert (veraltet)
- file: default_deprecated.conf
config:
- ServerName: Manala
- PassivePorts: 10000 10030
- DefaultRoot: "~"
- AuthOrder: mod_auth_file.c
- AuthUserFile: /etc/ftpd.passwd
- RequireValidShell: false
# Inhaltbasiert
- file: content.conf
config: |
<Anonymous ~ftp>
User ftp
Group nogroup
</Anonymous>
# Vorlagenbasiert
- file: template.conf
template: my_proftpd_template.conf.j2
config:
Foo: bar
# Sicherstellen, dass die Konfiguration abwesend ist
- file: absent.conf
state: absent # "present" ist Standard
# Konfiguration ignorieren
- file: ignore.conf
state: ignore
# Konfigurationen zusammenfassen
- "{{ my_custom_configs_array }}"
Virtueller Host
Sie können auch die Konfiguration für virtuelle Hosts verwenden.
- file: virtual_host_foo.conf
config:
- VirtualHost ftp.foo.com:
- ServerName: Foo FTP Server
- MaxClients: 10
- MaxLoginAttempts: 1
- Limit LOGIN:
- Order: Allow,Deny
- AllowUser: foo
- Deny: from all
- DefaultRoot: "~"
- Directory /srv/ftp/docs:
- Limit ALL:
- DenyAll
Benutzerkonten-Konfiguration
Verwenden Sie den Schlüssel manala_proftpd_users_template
, um festzulegen, welche Benutzer auf den FTP-Speicher zugreifen dürfen.
manala_proftpd_users_defaults:
uid: 1337 # Wird standardmäßig auf Benutzer angewendet
gid: 7331
manala_proftpd_users:
- name: manala
password: "$1$KBijsXOEr4$b$9HEyZDLPnSe3SXq0n66oE3y/"
home: /srv/my_dir
shell: /bin/false
- name: toto
password: "$1$9f19dba0ce5ece883b53275dcc1721b9"
home: /home/toto
shell: /bin/false
mode: "0755"
uid: 1000
gid: 1000
Wir empfehlen Ihnen nachdrücklich, einen SHA2-Passwort-Hash zu generieren.
Auf Linux kann er mit folgendem Befehl generiert werden:
echo -n yourpassword | mkpasswd --method=sha-512 -
Beispiel-Playbook
- hosts: servers
roles:
- role: manala.proftpd
Lizenz
MIT
Autoreninformationen
Manala (http://www.manala.io/) ist ein Open-Source-Projekt, unterstützt von der französischen Webagentur (ELAO)
ansible-galaxy install manala.proftpd