Installing Pure-FTPd

July 6, 2021 . 2 MIN READ

vsFTPd, ProFTPD and PureFTPd are great choices for an FTP server that all work well. Each has a GUI applications available to help manage settings. However PureFTPd is lightweight, supports MLST/MLSD, supports virtual folders using symbolic links (symlinks) and supports the SITE UTIME command required to synchronize file date/time stamps when you transfer them. It is therefore the FTP server that typically I recommend on Linux.

Installing Pure-FTPd

To install PureFTPd in Ubuntu (and probably most Debian based releases), execute the following command and a terminal/shell prompt:

sudo apt-get install pure-ftpd

By the way, if for any reason you mess-up the Pure-FTPD installation and want to start over, you can uninstall it completely using all of the following set of commands:

sudo service pure-ftpd stop

sudo apt-get autoremove pure-ftpd

sudo apt-get purge pure-ftpd

sudo rm -r /etc/pure-ftpd

Unlike most FTP servers, Pure-FTPd has almost no configuration files. It is all command-line driven.

If you plan on using virtual users on your ftp-server instead of regular Linux user accounts, start by creating an unprivileged user and group that is dedicated to those users using the following commands:

sudo groupadd ftpgroup

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

sudo chown -R ftpuser:ftpgroup /home/ftpuser

This will also create a shared space called ftpuser. This will be the root of their access on the server if you create your users in chroot jail where they can’t move up to higher levels. Of course you can alternatively create individual directories for each user instead if you don’t want them to have shared space and then optionally link them to a specially setup shared area using a symlink. We’ll get to the topic of symlinks shortly.

The ftpgroup group and the ftpuser user will be needed when you are setting up users in your ftp server.

Setting Up Pure-FTPd in Ubuntu

Leave a Reply

Your email address will not be published. Required fields are marked *