Servidor FTP [File Transfer Protocol]. Sus características incluyen directorios principales con chroot, dominios virtuales, 'ls' integrado, sistema anti-warez, puertos configurables para descargas pasivas, protocolo FXP, limitación de ancho de banda, ratios, archivos fortune, archivos de registro similares a Apache, modo autónomo rápido, cargas atómicas, informes de estado en tiempo real de texto/HTML/XML, usuarios virtuales, cuotas virtuales, separación de privilegios, SSL/TLS y más. Incluye los ejecutables pure-pw, pure-pwconvert, pure-statsdecode, pure-authd, pure-certd, pure-ftpd, pure-ftpd-virtualchroot, pure-ftpwho, pure-mrtginfo, pure-quotacheck y pure-uploadscript.
# systemctl start pure-ftpd
# systemctl enable pure-ftpd
El sistema de configuración es modular en el directorio /etc/pure-ftpd/conf/. Cada archivo en este directorio corresponde a una opción de línea de comandos [switch]. Para configurar una opción, se crea un archivo con el nombre de la opción, en mayúsculas la primera letra y se escribe el valor dentro: yes, no, 1...:
$ echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
$ echo "1" > /etc/pure-ftpd/conf/TLS
$ echo "20000 20099" > /etc/pure-ftpd/conf/PassivePortRange
$ echo "yes" > /etc/pure-ftpd/conf/NoAnonymous
$ echo "clf:/var/log/pure-ftpd/transfer.log" > /etc/pure-ftpd/conf/AltLog
$ echo "5000:8" > /etc/pure-ftpd/conf/LimitRecursion
$ echo "yes" > /etc/pure-ftpd/conf/AllowUserFXP
$ echo "50:100" > /etc/pure-ftpd/conf/UserBandwidth
$ echo "yes" > /etc/pure-ftpd/conf/AntiWarez
$ echo "40110 40210" > /etc/pure-ftpd/conf/PassivePortRange
Nota.- Abrir los puertos en el firewall [ufw: sudo ufw allow 40110:40210/tcp].
$ pure-ftpwho -v
# pure-pw mkdb
1.-
Creación de usuarios virtuales que no requieren cuentas de sistema
# groupadd ftpgroup
# useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser
# pure-pw useradd usuario1 -u ftpuser -g ftpgroup -d /var/ftp/usuario1 -m