=====Settings up FTP===== ====Initial Setup==== 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