PureFTPd install role for a general ftp file server
Go to file
2023-01-30 16:40:45 +01:00
.githooks Add githooks 2021-03-24 16:49:37 +01:00
.github/workflows Add GitHub Actions 2021-03-24 17:19:32 +01:00
defaults Add role variables and extend example 2021-03-24 17:27:47 +01:00
handlers Add GitHub Actions 2021-03-24 17:19:32 +01:00
meta Revive the role 2022-06-27 15:30:31 +02:00
molecule/default Fix molecule for Leap 15.4 2023-01-30 16:35:30 +01:00
tasks Revive the role 2022-06-27 15:30:31 +02:00
templates first commit 2021-03-24 16:28:14 +01:00
vars Revive the role 2022-06-27 15:30:31 +02:00
.gitignore Add GitHub Actions 2021-03-24 17:19:32 +01:00
README.md Add status badge 2021-03-25 11:27:14 +01:00

Test deployment

geekoops-pureftpd

Install and configure the secure PureFTPd server.

Role Variables

Value Description Default
config_firewall Apply firewall rules false
firewall_zone Firewall zone where ftp will be allowed public
MaxClientsNumber Maximum number of anonymous clients 10
MaxClientsPerIP Maximum clients per IP address 3
AnonymousOnly Forbid user login yes
NoAnonymous Disallow anonymous no
PAMAuthentication Allow PAM authentication no
MaxIdleTime Maximum idle time in minutes before disconnecting 5
MaxLoad Disallow anonymous download if system load is above this value 4
PassivePortMin Passive port range - lower bound 30000
PassivePortMax Passive port range - upper bound 30100
ForcePassiveIP Use this IP for passive mode, useful if PureFTPd is behind a NAT "" (disabled)
Bind Bind address and port (e.g. 127.0.0.1,21) "" (disabled)
Bandwidth Max bandwidth for all users in KB/s "" (disabled)
TrustedIP Allow login only from this IP "" (disabled)
MaxUserSessions Maximum number of open session per user 3
MaxAnonSessions Maximum number of open anonymous sessions 20
IPV4Only Bind to IPv4 only. By default we bind to IPv4 and IPv6 no
IPV6Only Bind to IPv6 only. By default we bind to IPv4 and IPv6 no

Example Playbook

- hosts: jellyfish
  roles:
     - { role: geekoops-pureftp, config_firewall: true }

A more extended example

- hosts: jellyfish
  roles:
     - role: geekoops-pureftp
       vars:
         config_firewall: true
         AnonymousOnly: yes
         PassivePortMin: 30000
         PassivePortMax: 31000
         MaxAnonSessions: 100

License

MIT

Author Information

phoenix

Have a lot of fun!

Development

Add githooks

This repository ships pre-commit git hooks that will check the yaml syntax. To configure them do

git config --local core.hooksPath .githooks/