- Install ftp server menggunakan paket vsftpd
$ sudo apt-get update $ sudo apt-get install vsftpd
- Backup file konfigurasi terlebih dahulu
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
- Cek firewall jika aktif bisa di disable atau allow port dari ftp
$ sudo ufw status $ sudo ufw allow 20/tcp $ sudo ufw allow 21/tcp $ sudo ufw allow 990/tcp $ sudo ufw allow 40000:50000/tcp $ sudo ufw status
- Tambahkan user ftp
$ sudo adduser ftpuser
- Buat direktori yang akan berfungsi sebagai chroot dan sebuah direktori yang dapat ditulis dan dihapus
$ sudo mkdir /home/ftpuser/ftp $ sudo chown nobody:nogroup /home/ftpuser/ftp $ sudo chmod a-w /home/ ftpuser /ftp
- Buat direktori yang dapat ditulis (writeable) dan buatkan ownership pada ftpuser
$ sudo mkdir /home/ftpuser/ftp/files $ sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files
- Kemudian edit file /etc/vsftpd.conf
... anonymous_enable=NO ... local_enable=YES ... write_enable=YES ... chroot_local_user=YES
- Tambahkan user_sub_token untuk memasukkan username di lokal folder root ftp. Hal ini berlaku untuk user lainnya yang akan ditambahkan kedepannya
... user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=40000 pasv_max_port=50000
- Untuk 2 baris terakhir di atas untuk membatasi jarak port yang dapat digunakan oleh FTP
- Buat userlist yang akan mengizinkan akses ke ftp
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
- Tambahkan nama user (ftpuser) pada file userlist
$ echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
- Restart service vsftpd
$ sudo systemctl restart vsftpd