目录
(2)将用户禁锢在自己的家目录 chroot_local_user=YES
3.修改配置文件/etc/vsftpd/vsftpd.conf
(2)使用第三方客户端进行登录(支持服务器类型:FTP over TLS)
学习是一场马拉松,耐心和坚持是成功的关键。愿你能保持初心,好好学习,天天向上,努力成为最优秀的你。
一、介绍
1.概述
FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议族中应用层的协议之一。是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。
2.FTP的传输模式
控制端口:控制连接在两主机间传送控制命令,如用户身份、口令、改变目录命令等。
数据端口:数据连接只用于数据传输。
PORT 主动模式
- FTP客户端会随机使用一个高位端口N(n > 1024)与FTP服务端21端口进行连接,向服务端发送用户名和密码进行登陆;
- 登录成功后要list列表或者读取数据时,客户端开放一个N+1端口(1024以上)进行监听,发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;
- FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口(N+1)连接,发送数据;
原理如下图:
PASV 被动模式
- FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送用户名和密码进行登陆;
- 登录成功后要list列表或者读取数据时,客户端开放一个N+1端口(1024以上)进行监听,然后向服务器发送PASV命令,通知服务器自己处于被动模式。
- 服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P;
- 客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
原理如下图:
3.FTP服务的作用
FTP服务是一种提供共享文件的服务器,它的主要作用有以下几点:
(1)存储文件:FTP服务器可以存储需要传输的文件,用户可以通过FTP客户端连接到FTP服务器,并上传或下载需要的文件。
(2)管理文件:FTP服务器可以管理文件,例如创建、删除、重命名等操作。
(3)提供文件访问权限控制:FTP服务器可以对文件进行访问权限控制,例如限制用户的访问权限、控制用户的上传和下载权限等。
(4)提供匿名访问:FTP服务器可以提供匿名访问,允许用户通过FTP客户端进行匿名的文件传输。
(5)监控文件传输情况:FTP服务器可以记录和监控文件传输情况,例如记录文件传输的日志信息,以便进行后续的审计和管理。
(6)支持多用户同时传输:FTP服务器可以支持多个用户同时进行文件传输,以提高文件传输的效率。
(7)数据备份:FTP服务器可以作为网络备份的存储服务器,用于备份公司或组织的重要数据。
二、搭建FTP服务器
FTP服务端配置
1.安装vsftpd文件服务
[root@localhost ~]# yum install -y vsftpd
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
......省略输出
已安装:
vsftpd.x86_64 0:3.0.2-29.el7_9完毕!
[root@localhost ~]#
[root@localhost ~]#
2.启动服务
systemctl start vsftpd # 启动服务
systemctl stop vsftpd # 停止服务
systemctl status vsftpd # 查看服务状态
systemctl enable vsftpd # 开启自启动
3.防火墙配置
systemctl stop firewalld # 停止防火墙
systemctl disable firewalld # 开机不启动防火墙
setenforce 0 # 关闭selinux
4.FTP服务相关文件说明
FTP客户端配置
1.安装FTP客户端工具 lftp
[root@localhost ~]# yum install -y lftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
......省略输出
正在安装 : lftp-4.4.8-14.el7_9.x86_64 1/1
验证中 : lftp-4.4.8-14.el7_9.x86_64 1/1已安装:
lftp.x86_64 0:4.4.8-14.el7_9完毕!
[root@localhost ~]#
2.访问FTP服务器
Linux系统访问FTP服务器
(1)客户端工具 lftp
lftp 服务端IP地址
(2)wget 工具
wget ftp://服务器IP/文件名 # 下载文件 wget -m ftp://服务器IP/目录名 # 下载目录
Windows系统访问FTP服务器
(1)浏览器访问
(2)资源管理器访问