Verified and Tested 02/25/2015

Introduction

VSFTPD (very secure file transfer protocol daemon) is a popular way to transfer files between your computer and a remote computer.

In this article, we will install vsftpd on a Debian 7.3.

Prerequisites

Root access to server

Installing VSFTPD on a Debian Cloud server or VPS

First, we will install vsftpd using the below command:

apt-get install vsftpd

Vsftpd is installed now, but we now need to configure it in /etc/vsftpd.conf using your favorite text editor. I will use nano here.

nano /etc/vsftpd.conf

Once inside, you will need change a couple of things. Below are the ones to change and why we will be changing them.

anonymous_enable=NO

This will disable the ability for users to login anonymously

local_enable=YES

Since we disabled anonymous logins, we need to enable user logins that use the local authentication files.

write_enable=YES

This will enable users to make changes to the filesystem.

chroot_local_user=YES

This will restrict users to have access only to their home directories.

After this is done, you can save and close the file.

Adding FTP User on Debian

Next, we have to create an FTP user. I will use the user “atlantic” in this example, but you can use any username. To add a user, run the following command.

adduser atlantic

Enter a password for the user and fill the rest out if you would like. You can also press enter through the rest.

You must provide root ownership to the users home directory now.

chown root:root /home/atlantic

Next, for the user to be able to upload files, we need to create a directory under their home directory.

mkdir /home/atlantic/folder

Then provide the user this directory.

chown atlantic:atlantic /home/atlantic/folder

Now this user is set up to log in and upload files to their folder directory.

To access your server via FTP over the web, type the following in your browser:
ftp://<server IP address>

You will now be prompted to input your username and password. All Done!