Install vsftpd package using the yum repository
#yum -y install vsftpd
After installation complete, you will find the directory in vsftpd in /etc location. There is where all configurations are located for vsftpd server.
Now take the backup of default configuration file vsftpd.conf
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
By default, anonymous login is enabled which allow anyone to connect to your ftp server without login. This is highly insecure and you must disable this immediately. Edit this file by opening in vi or editor and set the following values.
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
userlist_enable=NO
allow_writeable_chroot=YES
Now, start or restart the server and configure this to be started at the time of operation boot.
#systemctl start vsftpd
#systemctl enable vsftpd
Now, you should add user who will login through the FTP client to access the specified directory on the server. Suppose, we have /var/www/html directory which access to be given to user “ftpuser”.
# useradd -d '/var/www/html' -s /sbin/nologin ftpuser
Set the password of this user
#passwd ftpuser
Run the following command which allow full access to FTP users.
#setsebool -P ftpd_full_access on
Run the following command to make the location writable. And restart the server.
chmod a-w /var/www/html
#systemctl restart vsftpd