关于FTP的三篇文章整理:
😉【FTP】一、什么是FTP?
😉【FTP】二、Linux下FTP的搭建与配置
😉【FTP】三、FTP指令–实现FTP文件共享

一、安装FTP
1、安装vsftpd
- 查看是否安装
rpm -qa|grep vsftpd
#若安装版本较低的话,可yum remove xxx卸载
- 安装
yum -y install vsftpd
2、创建登录ftp的账号,-d指定了用户ftp_user的主目录(刚登陆成功所在的目录即主目录)
useradd -d /home/ftp ftp_user
3、修改一下配置文件
vi /etc/vsftpd/vsftpd.conf
修改以下这个参数:
anonymous_enable=NO # 不允许匿名用户登录
4、重启vsftpd服务
systemctl restart vsftpd
或
service vsftpd restart
5、查看ftp服务器防火墙,开放相关端口
systemctl status firewalld
其状态若不是running,则直接用客户端连接或访问ftp://IP即可出现登录界面。若防火墙则running,则需要开放21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
到此,使用客户端就可访问ftp了,比如下图使用weindows自带的ftp命令行、或IE浏览器
二、常见的坑
1、输入了正确的用户名和密码,但IE一直跳转登录页面(IE当ftp客户端粗糙到不说失败原因)
2、连接登录成功了,但 ls 提示 ” ftp: connect: No route to host ”
就这两个问题,坑了我好久,弄明白问题前的心态如图:
原因还是第一章说的FTP主动模式、被动工作模式的选择。不同的生产环境下,并不是两个模式都能通。
😉
😉
先说解决办法--切换FTP工作模式
- windows的ftp命令默认是使用的主动模式连接FTP serer
- linux默认是PASV模式,即被动模式,要通过 passive on | off来进行切换
- IE浏览器作为FTP客户端时,默认是主动模式,可在设置–Internet选项–高级中勾选或取消
你要是不了解两种模式的原理,可以看这篇文章。反正就两种工作模式,不想分析就直接切到对立模式就好。
注意:
选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。
下面是错误的理论原因分析,不想看的跳过
三、相关配置文件详解
安装完之后在/etc/vsftpd/路径下会存在三个配置文件:
- vsftpd.conf: 主配置文件
cat /etc/vsftpd/vsftpd.conf |grep -v '^#'
本文含有隐藏内容,请 开通VIP 后查看