一.FTP概述
FTP
服务是Internet上最早应用于主机之间进行数据传输的基本服务之一。是目前Internet上使用最广泛的文件传送协议。- FTP(File TransferProtocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
TP服务器默认使用TCP协议的20、21端口与客户端进行通信 |
- 20端口用于建立数据连接,并传输文件数据
- 21端口用于建立控制连接,并传输ETP控制命令
FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard(也就是Active,主动模式)
,一种是Passive(也就是PASV被动模式)
。
1.主动模式Standard
:
服务器主动发起数据连接;
例:客户端给服务端的21控制端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会连接客户端已打开的那个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件。
2.被动模式Passive
服务器被动等待数据连接
例:客户端给服务器端的21端口发命令说,我要下载什么什么,服务端知道后,就打开一个空闲的端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧。于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西。
二 .配置FTP服务
1.安装FTP服务
2.修改配置文件:.
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //开启匿名用户访问。默认开启
write_enable=YES //开放服务器的写权限(若要上传必须开启)。默认已开启
local_umask=022 //设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES //允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES //允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enbale=YES //允许删除、重命名、覆盖等操作。需添加
chmod -R 777 /var/ftp/pub/ //为匿名访问ftp的根目录下的pub子目录设置最大权限
以便匿名用户上传数据
systemctl restart vsftpd //重启服务
修改配置文件:
3.开始匿名访问测试
打开测试机输入ftp +ip进行连接输入匿名用户账户直接登入
ls查看当前下面的文件此时可以看出当时创建文件及目录
进入下载文件,然后就可以看到文件下载成功到桌面