
There are several file transfer server packages out there that can do the job.
Some with more features than others, but most of them get the job done well.
In this How-to, we'll consider creating an FTP Server in Linux using VSFTPd
Vsftp stands for the very secure FTP daemon and this comes on most Linux
distro's pre-installed. In case your Linux desktop doesn't have it you can download
it through their site.
After downloading, extract the file, and install it, just like you would any other Linux
binaries you can do this using the CLI
gunzip-dc vsftpd-x.x.x.tar.gz | tar xvf - OR
tar -xvzf vsftpd-x.x.x.tar.gz
vsftpd is on most Linux repositories so you can acquire and install from the command line
sudo apt-get install vsftpd Debian/Ubunut/LinuxMint
sudo yum install vsftpd Fedora/Redhat/Mandriva
VSFTP can be launched as a daemon or by a superserver (xinetd), the default port for data
connections is 21.
The vsftp config files are found in /etc/vcsftpd.conf
Fire up your favourite editor and open the config files
$ sudo vi /etc/vsftpd.conf
If you would like to run the vsftpd as a standalone server you need to uncomment
listen=YES
To allow local users to log in to the Ftp server uncomment the following line
local_enable=YES
For security reasons it's a good idea to chroot local users, this would restrict them to their
home directories and ensure privacy
chroot_local_user=YES
You can now save and close the file.
Now restart the ftp server to incorporate your new changes
/etc/init.d/vsftpd restart Debian
service vsftpd restart Fedora/RHEL
You may also need to add a firewall rule to allow the server to work
iptables -A input -p tcp -m tcp --dport 21 -j ACCEPT