Debian 9: Install ProFTPD for FTP server


Table of Contents

1 Install ProFTPD

Install ProFTPD package.

$ cat <<EOF | sudo debconf-set-selectionsproftpd-basic shared/proftpd/inetd_or_standalone select standaloneEOF$ sudo apt install -y proftpd

Enable upload by local user. Enable read by anonymous user. Disable upload by anonymous user.

$ cat <<EOF | sudo tee /etc/proftpd/conf.d/anonymous.conf<Anonymous ~ftp> User ftp Group nogroup UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off <Directory *> <Limit WRITE> DenyAll </Limit> </Directory></Anonymous>EOF

Enable and restart ProFTPD.

$ sudo systemctl enable proftpd$ sudo systemctl restart proftpd

Put file for anonymous user.

$ echo “anon” | sudo tee /srv/ftp/anon.txt

2 Access to ProFTPD

Access to ProFTPD with lftp.

$ sudo apt install -y lftp

Access to ProFTPD with specifying user. You can specify password with -u <username>,<password>. Home directory is displayed. You can access directory and files of FTP server with using user permission.

$ lftp -u hiroom2 ftp-server.hiroom2.comPassword:lftp [email protected]:~> pwdftp://[email protected]/%2Fhome/hiroom2lftp [email protected]:~> ls /drwxr-xr-x 2 0 0 4096 Jul 29 07:12 bindrwxr-xr-x 4 0 0 1024 Aug 05 12:16 bootdrwxrwxr-x 2 0 0 4096 Oct 09 2016 cdrom-rw——- 1 0 0 17711104 Jan 21 2017 coredrwxr-xr-x 21 0 0 4020 Aug 06 01:22 devdrwxr-xr-x 133 0 0 12288 Aug 06 01:22 etcdrwxr-xr-x 4 0 0 4096 Aug 06 01:22 home<snip>

Not specifying user uses anonymous user. The directory which is set to anon_root is displayed. Anonymous user cannot access upper directory because ProFTPD uses chroot.

$ lftp ftp-server.hiroom2.comlftp ftp-server.hiroom2.com:~> pwdftp://ftp-server.hiroom2.comlftp ftp-server.hiroom2.com:~> ls /-rw-r–r– 1 ftp ftp 5 Aug 8 07:43 anon.txt-rw-r–r– 1 ftp ftp 170 Apr 5 2016 welcome.msg

Android | Linux | SDL - Narrow Escape