From Fedora Project Wiki

FTP

Summary

Purpose: This document covers many of the aspects of configuring and customizing vsftpd. Audience: This document is designed for anyone wanting to setup vsftpd as an FTP server. Assumptions: The Fedora OS is installed, TCP/IP and DNS is configured.User accounts have been added and the reader has access to the root password. Firewall rules are configured to allow for the proper port access, and the user has a basic understanding of vi and bash commands. Related Documents: The InstallGuide documents the basic install of Fedora. The GettingStarted documents the basic use of Fedora and gaining access to the CLI. The DNS assists with configuring DNS for name resolution. UserAccounts documents the steps for creating users and groups. The ConfiguringServices covers configuring Services. Lead Writer: MikeDittmeier

Introduction

The FTP Server vsftpd is a daemon that allows other computers to access files using an ftp client on a remote computer. This allows for anonymous or user based authentication to validate users accessing ftp shares.

Package Requirements

This article makes use of the following packages found in the Fedora Repository:

  • vsftpd, vsftpd is a Very Secure FTP daemon. It was written completely from scratch.
  • system-config-vsftpd, System-config-vsftpd is a graphical utility for administrating Very Secure FTP Daemon ( VSFTPD ).

Installation

To verify vsftpd is installed, type the following command:

rpm -q vsftpd

this should output the follow results:

vsftpd-2.0.5-19.fc8

if not, then install the vsftpd packages by typing:

su -c 'yum install -y vsftpd system-config-vsftpd'

For graphical installs, use Main Menu > Add/Remove Software. This requires the root user password to run. In the Browse tab, click on the Servers group on the left, then select the FTP Server option on the right. Click Apply to have the software and all dependencies installed. You can customize what is installed in the FTP Server grouping by clicking on Optional packages. To verify the vsftpd starts at reboots, enter the following command at a shell prompt:

su -c 'chkconfig --levels 345 vsftpd on'

Configuring VSFTP

There are three main configuration files you will need to edit to set up an FTP server:

  • /etc/vsftpd/vsftpd.conf, The main configuration file
  • /etc/vsftpd/ftpusers, Users that are not allowed to login via ftp
  • /etc/vsftpd/user_list, Controls user access
The default /etc/vsftpd/vsftpd.conf file does not include all of the configuration options available. Please see vsftpd.conf.5 for all compiled in defaults