注:阅读本文需要有一定Linux知识的技术人员,写的不好,小白可能看不懂,十分抱歉哈。
1、系统环境
CentOS 7.x 1核、1G、20G硬盘。
2、安装
安装命令:yum install -y vsftpd
添加开机启动:systemctl enable vsftpd
启动:systemctl start vsftpd
3、配置
新建ftp目录:mkdir -p /home/data
新建ftp账户:useradd -g root -d /home/data -s /sbin/nologin abcftp
设置ftp密码:passwd abcftp
设置目录权限:chown -R abcftp:root /home/data
echo '/sbin/nologin' >> /etc/shells
sed -i s'/anonymous_enable=YES/anonymous_enable=NO/'g /etc/vsftpd/vsftpd.conf
sed -i s'/listen=NO/listen=YES/'g /etc/vsftpd/vsftpd.conf
sed -i s'/listen_ipv6=YES/listen_ipv6=NO/'g /etc/vsftpd/vsftpd.conf
echo 'pasv_enable=YES' >>/etc/vsftpd/vsftpd.conf
echo 'pasv_min_port=30000' >> /etc/vsftpd/vsftpd.conf
echo 'pasv_max_port=31000' >>/etc/vsftpd/vsftpd.conf
echo 'allow_writeable_chroot=YES >>/etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
4、防火墙配置
#setsebool -P ftpd_full_access on
#firewall-cmd --zone=public --add-port=21/tcp --permanent
#firewall-cmd --zone=public --add-port=30000-31000/tcp --permanent
#firewall-cmd --permanent --zone=public --add-service=ftp
#firewall-cmd --reload
5、踩坑总结
检查防火墙相关端口是否开启。
被动模式下,一定要设定被动的端口范围30000-31000(范围不可设置过小,否则无法连接。)
测试ftp的程序建议用FlashFXP,可以详细看到每一步的操作及报错信息。
正常环境下,按照第3项去配置基本上都可以正常使用。