ProFTPD

https://doc.ubuntu-fr.org/proftpd

apt install proftpd-basic

/etc/proftpd/proftpd.conf

ServerName : "Nom_du_serveur"

Pour connexion en anonyme sur /srv/ftp par exemple.

# A basic anonymous configuration, no upload directories.

 <Anonymous ~ftp>
   User                         ftp
   Group                        nogroup
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # Limit the maximum number of anonymous logins
   MaxClients                   10

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin                 welcome.msg
   DisplayFirstChdir            .message

   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

Pour mode Passif :

PassivePorts 5000 5100

Voir les stats :

ftpstats

et

ftpwho

vsftpd (incompatible avec proftpd)

Support le TLS

https://doc.ubuntu-fr.org/vsftpd

/etc/vsftpd.conf

ftpd_banner=Bienvenue sur le serveur FTP

anonymous_enable=NO (ou YES)
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=YES
local_root=<Path_du_répertoire_anonyme>
local_enable=YES (pour comptes locaux)
write_enable=YES (pour upload)
local_umask=022
listen_address=10.0.0.1 (restriction réseau autorisé)

Créer une prison pour FTP :

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot.list

/etc/vsftpd/chroot.list contient :

utilisateur1
utilisateur2