0. linux中FTP服务叫做 vsftpd
1. 查看ftp是否安装
rpm -qa |grep ftp
2. 查找vsftp
yum list | grep vsftp
3. 安装vsftpd
yum -y install vsftpd
4. 验证是否安装成功
vsftpd -v
5. 安装网络命令套件,如netstat
yum -y install net-tools
6. 启动ftp
systemctl start vsftpd
7. 验证是否启动
systemctl status vsftpd netstat -nltp | grep 21
8. 设为开机启动
systemctl enable vsftpd
9. 配置ftp参数,进入配置目录
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.default
vi vsftpd.conf
10. 主要关注几点: 关闭匿名登录
anonymous_enable=NO chroot_local_user=YES
11. 重启ftp服务
systemctl restart vsftpd
12. 添加防火墙策略
firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd reload
13. 也可以关闭防火墙
systemctl disable firewalld 或 systemctl stop firewalld 查看状态 systemctl status firewalld
14. 配置文件的关注点,白名单userlist_enable,黑名单userlist_deny
userlist_enable为YES,userlist_deny为NO 这个意思是,出现在白名单的用户才能访问系统.
15. 默认参数,只能操作 用户目录 需要配置
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
其中: chroot_list 需要用vi创建. 内容是允许访问全目录的用户名
16.修改配置,需要 重启 ftp服务
systemctl restart vsftpd
17. selinux 会导致无法上传文件 (提示: 553 Could not create file或 200 PORT command successful. Consider using PASV.)
getsebool -a | grep ftpd
列出一些权限状态,此时执行命令
setsebool allow_sftpd_full_access on