The PURE-FTPD is a free (BSD), secure, high-quality and compliant FTP server. Focus on operational efficiency and ease of use. It provides a simple answer, he meets the popular needs, including ordinary users and host suppliers.
PURE-FTPD is fully supported, it is always in the concept of security design, its code is always as a loophole to discuss and review. This service can be adapted to strict security needs to do separation of permissions. The chroot () emulation and virtual account 100% are run correctly even without the need for root permissions. Avoid passwords being transmitted as plaintext: PURE-FTPD's http://www.aliyun.com/zixun/aggregation/9511.html ">openssl library supports optional TLS encryption layer usage.
Fast, high-quality, full-featured FTP server, the most important thing is to support the setting of client default encoding, so Windows and Linux with this FTP to solve the problem of garbled. This feature vsftpd and PROFTPD are not available, proftpd can be patched to support, but the legend is not safe, the last patch is not updated, seemingly.
Installation
sudo apt install pure-ftpd
Configuration
Ubuntu's pure-ftpd configuration file is very special, it is placed in the "/etc/pure-ftpd/conf" directory, and the option is the filename, the option value is the file content.
The configuration described below creates a new text file under "/etc/pure-ftpd/conf" with the option name as the filename, and then the content writes the value of the option.
Anonymous Logon feature
By default, the anonymous login feature is not turned on, and the content of/etc/pure-ftpd/conf/noanonymous is changed to No in "system-> System Management-> user name and group" create a username called "ftp" (must be This name), "Advanced" The inside of the main group can be a new group called "Ftpgroup" to facilitate management, if you do not want to "FTP" with the ability to log on to the local system, you can in the account properties of the "advanced" in the "Senior" "Shell" in the "/bin/false", Home directory just choose the directory where you want anonymous users to log on, I set up the "/var/ftp/public".
When you are finished, restart the FTP service (preferably reboot the system)
SUDO/ETC/INIT.D/PURE-FTPD restart
Anonymous users should be able to log in
Virtual user Settings
In "System-> System Management-> user name and group" create a username called "Ftpuser" (Ftpuser can be a name you like), the main group can recommend "Ftpgroup" to facilitate management, if you do not want to "Ftpuser" With the ability to log on to the local system, you can select "/bin/false" in the "Shell" of "advanced" in the "advanced" of the account attribute. Home Directory Select a directory where you want the user to log on (in fact, I did not test if the virtual user and the actual user's home directory set the results of different directories), I was set up "/var/www/site".
And then
sudo pure-pw useradd ftpuser-u ftpuser-d/var/www/site
Will prompt you to set a password. This command is to use the local system "ftpuser" user login, the virtual user named "Ftpuser", "Ftpuser" The main directory in the "/var/ftp", virtual users and local users can be different names, their own change, in fact, the Ftpuser do not establish also line, You can use the FTP user directly. The home directory after the user logs on to FTP is based on the home directory specified by this command.
After adding, let PURE-FTPD set up the virtual user data
sudo pure-pw mkdb
Generated files in "/etc/pure-ftpd/pureftpd.pdb"