FTP is a cheap and easy way to communicate with a headless server. While I’m happily using FileZilla Server on several other systems, there’s no pre-built binary for Fedora available. However, both ProFTP and VSFTP are simple FTP servers that can be installed from the command line and are ready to rock in seconds. Let’s take a look at how to setup VSFTP on Fedora 42 in this article.
Install the Package
sudo dnf install vsftpd
For the confused among you: VSFTP is the server, VSFTPD is the demon (i.e. the process that runs in the background). The project is known as VSFTPD.
Start and Enable the server
systemctl enable vsftpd
systemctl start vsftpd
Now the server is up and running, but chances are it won’t accept any connection requests from other devices. Let’s patch the firewall to make it happen
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
And that should do it!
Configuring VSFTP
The default configuration file works great out of the box for local users. You can find it here:
- /etc/vsftpd/vsftpd.conf
Local users will land in their home directory but can traverse up and down the hierarchy, so will grant anything that the current user is allowed to see. If you want to make it more secure, setup a dedicated FTP user and lock down their home directory. The config file is well documented.