How to Install and Configure VSFTPD on Fedora 20

Reading Time: 2 minutes

FTP (File Transfer Protocol) is probably the most popular method of uploading files to a server; a wide array of FTP servers, such as vsftpd, and clients exist for every platform.

Pre-Flight Check
  • These instructions are intended specifically for installing the vsfptd on Fedora 20.
  • I’ll be working from a Liquid Web Self Managed Fedora 20 server, and I’ll be logged in as root.

 
Warning: FTP data is insecure; traffic is not encrypted, and all transmissions are clear text (including usernames, passwords, commands, and data). Consider securing your FTP connection with SSL/TLS.

Step 1: Install VSFTPD

As a matter of best practice we’ll update our packages:

yum -y update

Then let’s install vsftpd and any required packages:

yum -y install vsftpd

Step 2: Configure VSFTPD

For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor

Let’s edit the configuration file for vsftpd:

vim /etc/vsftpd/vsftpd.conf

Disallow anonymous, unidentified users to access files via FTP; change the anonymous_enable setting to NO:

anonymous_enable=NO

Allow local uses to login by changing the local_enable setting to YES:

local_enable=YES

If you want local user to be able to write to a directory, then change the write_enable setting to YES:

write_enable=YES

Local users will be ‘chroot jailed’ and they will be denied access to any other part of the server; change the chroot_local_user setting to YES:

chroot_local_user=YES

Exit and save the file with the command :wq .

Restart the vsftpd service:

systemctl restart vsftpd

Then set the vsftpd service to start at boot:

systemctl enable vsftpd

Step 3: Allow VSFTPD Through the Firewall

Allow the default FTP port, port 21, through firewalld:

firewall-cmd --permanent --add-port=21/tcp

And reload the firewall:

firewall-cmd --reload

Possible Errors

There are a couple of common vsftpd errors that we’ve already solved for you! Check-out the following if you run into issues:

Error: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() [SOLVED]

Error: 500 OOPS: priv_sock_get_cmd [SOLVED]

About the Author: J. Mays

As a previous contributor, JMays shares his insight with our Knowledge Base center. In our Knowledge Base, you'll be able to find how-to articles on Ubuntu, CentOS, Fedora and much more!

Latest Articles

Delete a MySQL or MariaDB Database via Command Line

Read Article

Delete a MySQL or MariaDB Database via Command Line

Read Article

What is Cloud Automation?

Read Article

What is the Default Password for PostgreSQL?

Read Article

How to Create Custom Error Pages in cPanel

Read Article