To install pure-ftpd on Ubuntu, run
apt install pure-ftpd -y
Create a system user
useradd -d /var/www -s /bin/bash USERNAME chown -R USERNAME:USERNAME /var/www passwd USERNAME
Enable Unix Authentication
To allow system user to login using FTP, edit file
vi /etc/pure-ftpd/pure-ftpd.conf
Uncomment the line
UnixAuthentication yes
Or
echo 'yes' > /etc/pure-ftpd/conf/UnixAuthentication
On Ubuntu, after default install, you have following settins.
root@server:/etc/pure-ftpd/auth# ll total 8 drwxr-xr-x 2 root root 4096 Jan 28 05:52 ./ drwxr-xr-x 5 root root 4096 Jan 28 06:20 ../ lrwxrwxrwx 1 root root 26 Feb 5 2018 65unix -> ../conf/UnixAuthentication lrwxrwxrwx 1 root root 25 Feb 5 2018 70pam -> ../conf/PAMAuthentication root@server:~# cat /etc/pure-ftpd/auth/65unix no root@server:~# cat /etc/pure-ftpd/auth/70pam yes root@server:~#
PAMAuthentication enabled. UnixAutehticiation disabled. This allow system users to login using PAM.