Setup directory that will be root for ftp in this case it is /core/Interfaces
mkdir -p /core/Interfaces
Install VSFTPD
yum install vsftpd
Main configuration file for VSFTP is /etc/vsftpd/vsftpd.conf Here is what needs to be in it
[root@Dubactomcat vsftpd]# grep -v '^\s*$\|^\s*\#' /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd.virtual userlist_enable=YES tcp_wrappers=YES allow_writeable_chroot=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO user_sub_token=$USER local_root=/core/Interfaces chroot_local_user=YES hide_ids=YES
You also need to create a list of users that will be allowed in this list is called /etc/vsftpd/userlist all it has its the user that will be allowed in
[root@Dubactomcat etc]# cat vsftpd.userlist ota_ftp
This user needs to exist in server and it will have nologin permissions
[root@Dubactomcat vsftpd]# id ota_ftp uid=1007(ota_ftp) gid=1007(ota_ftp) groups=1007(ota_ftp) [brindleyp@CRKTomCat scripts]$ grep ota_ftp /etc/passwd ota_ftp:x:1007:1007::/var/ftp:/bin/nologin
You then need to create file that will contain the FTP user and its password /etc/vsftpd/virtualusers.txt
[root@Dubactomcat vsftpd]# cat virtualusers.txt ota_ftp Welcome99
this file needs to be converted into a DB before it can be used and its permissions need to be set
db_load -T -t hash -f /etc/vsftpd/virtualusers.txt /etc/vsftpd/virtualusers.db chmod 600 /etc/vsftpd/virtualusers.db
This service relies on PAM for authentication need to create the pam service file vsftpd.virtual this file specifies where the ftp users list is
[root@Dubactomcat vsftpd]# cat /etc/pam.d/vsftpd.virtual auth required pam_userdb.so db=/etc/vsftpd/virtualusers account required pam_userdb.so db=/etc/vsftpd/virtualusers session required pam_loginuid.so
that should be it. Now enable and start vsftpd
systemctl enable vsftpd systemctl start vsftpd