本人前端切图仔一枚,刚刚开始学服务器,准备做个个人博客,但是遇到服务器上传下载的问题蛮麻烦的,所以就在此分享一下我在服务器安装FTP模块的经历吧,中间遇到了太多的坑了,每个人遇到的问题也不同,解决方法也不同,教程也不同,泪目了
1. 安装vsftpd
yum -y install vsftpd
2. 检查vsftpd是否安装成功
# 检查方法1
rpm -q vsftpd
vsftpd-3.0.2-29.el7_9.x86_64
# 检查方法2
vsftpd -v
vsftpd: version 3.0.2
3. vsftpd配置文件
默认安装在 /etc/vsftpd 这个目录下
[barry@local /]$ cd /etc/vsftpd/
[barry@local vsftpd]$ ll
chroot_list # 文件默认不存在,需要手动建立,将指定用户锁定在指定的目录做为根目录
ftpusers # FTP黑名单
user_list # FTP黑/白名单:当配置文件里的userlist_enable字段值YES为黑名单,为NO时为白名单
vsftpd.conf # vsftpd的主要配置文件
vsftpd_conf_migrate.sh #执行文件
4. 配置设置
执行:vim vsftpd.conf进行配置
# 是否允许匿名用户访问ftp 默认: yes
anonymous_enable=NO
# 是否允许本地用户登入
local_enable=YES
# 是否允许登陆用户有写入的权限
write_enable=YES
# 设置被动端口范围
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100
5. 阿里云安全组配置
在阿里云安全组里设置这2个端口
6. 执行命令
# 设置防火墙
# 先检查防火墙开了没
firewall-cmd --state
# 如果输出是:FirewallD is not running 则没开
systemctl start firewalld.service # 启动防火墙
systemctl enable firewalld.service # 开机自启
# 再检查状态,输出:running 则成功开启
firewall-cmd --permanent --zone=public --add-service=ftp
# 输出:success 成功
firewall-cmd --reload
# 输出:success 成功
# 设置iptables
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:30100 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
7. 启动vsftpd服务
systemctl enable vsftpd.service # 开机自启
systemctl start vsftpd.service # 启动ftp服务
8. FileZilla连接服务器
- 软件链接:https://download.filezilla.cn/client/windows/FileZilla_3.57.0_win64-setup.exe
- 步骤:
安装软件
-
点开站点管理
-
新建站点
-
输入服务器外网ip和账号密码,端口默认21
-
连接,会发现报错
-
为什么会出现这样的情况呢
是因为root用户默认在黑名单配置中,所以我们要去修改2个配置文件,分别是ftpusers和 user_list,需要我们去注释或删除root字段
修改完之后重新启动vsftpd服务systemctl restart vsftpd.service
然后再重新连接就可以了
参考链接:
https://help.aliyun.com/document_detail/38187.htm?spm=a2c4g.11186623.0.0.45752cb8dPT0HK
https://blog.csdn.net/weixin_44187730/article/details/91876337
https://www.cnblogs.com/zhi-leaf/p/5983550.html
https://blog.csdn.net/weixin_43557605/article/details/105974233