VSFTP在CentOS上的定制化配置
一 基础安装与启动
sudo yum install -y vsftpdsudo systemctl start vsftpd && sudo systemctl enable vsftpdsudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak二 核心配置模板与说明
anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022chroot_local_user=YESchroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_listallow_writeable_chroot=YESpasv_enable=YESpasv_min_port=10000pasv_max_port=20000pasv_address=YOUR_PUBLIC_IPlocal_max_rate=1048576ftpd_banner=/etc/vsftpd/welcome.txtxferlog_file=/var/log/vsftpd/xferlogxferlog_std_format=YESlog_ftp_protocol=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022chroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YESpasv_min_port=10000pasv_max_port=20000pasv_address=YOUR_PUBLIC_IPxferlog_file=/var/log/vsftpd/xferlogxferlog_std_format=YESlog_ftp_protocol=YESftpd_banner=/etc/vsftpd/welcome.txtsudo systemctl restart vsftpd 使配置生效三 防火墙与SELinux适配
sudo firewall-cmd --permanent --add-service=ftpsudo firewall-cmd --permanent --add-port=10000-20000/tcpsudo firewall-cmd --reloadsudo setsebool -P ftp_home_dir onsudo setsebool -P allow_ftpd_full_access on四 虚拟用户与细粒度权限
echo -e "ftpuser1\nftppass1" > /etc/vsftpd/vuser_passwd.txtsudo db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.dbauth required pam_userdb.so db=/etc/vsftpd/vuser_passwdaccount required pam_userdb.so db=/etc/vsftpd/vuser_passwdguest_enable=YESguest_username=ftp(确保系统存在该用户且权限受控)user_config_dir=/etc/vsftpd/vuser_conflocal_root=/var/ftp/ftpuser1write_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOidle_session_timeout=300max_clients=5local_max_rate=1048576sudo mkdir -p /var/ftp/ftpuser1 && sudo chown ftp:ftp /var/ftp/ftpuser1五 日志轮转与验证
/var/log/vsftpd/*.log { daily rotate 7 compress missingok notifempty}tail -f /var/log/vsftpd/xferlogtail -f /var/log/vsftpd.logftp localhostpasv_min_port/pasv_max_port 与防火墙开放范围是否一致,公网环境设置 pasv_addressanonymous_enable、local_enable、PAM 配置与虚拟用户数据库路径write_enable 与 allow_writeable_chroot 设置