FTP文件传输

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FTP⽂件传输
⼀、FTP简介
1、 FTP服务——⽤来传输⽂件的协议
FTP 是File Transfer Protocol(⽂件传输协议)的英⽂简称,是 TCP/IP 协议组中的协议之⼀。

⽤于Internet上的控制⽂件的双向传输。

同时,它也是⼀个应⽤程序(Application)。

基于不同的操作系统有不同的FTP应⽤程序,⽽所有这些应⽤程序都遵守同⼀种协议以传输⽂件。

FTP协议包括两个组成部分,其⼀为FTP服务器,其⼆为FTP客户端。

其中FTP服务器⽤来存储⽂件,⽤户可以使⽤FTP客户端通过FTP协议访问位于FTP服务器上的资源。

2、端⼝
FTP默认使⽤TCP协议的20、21端⼝⽤于客户端进⾏通信
20端⼝⽤于建⽴数据连接,并传输⽂件数据
21端⼝⽤于建⽴控制连接,并传输FTP控制命令
3、数据连接模式
Standard (PORT⽅式、主动模式):服务器主动发起数据连接
FTP 客户端⾸先和服务器的TCP 21端⼝建⽴连接,⽤来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。

PORT命令包含了客户端⽤什么端⼝接收数据。

在传送数据的时候,服务器端通过⾃⼰的TCP 20端⼝连接⾄客户端的指定端⼝发送数据。

FTP server必须和客户端建⽴⼀个新的连接⽤来传送数据。

Passive (PASV,被动⽅式):服务器被动等待数据连接
建⽴控制通道和Standard模式类似,但建⽴连接后发送Pasv命令。

服务器收到Pasv命令后,打开⼀个临时端⼝(端⼝号⼤于1023⼩于65535)并且通知客户端在这个端⼝上传送数据的请求,客户端连接FTP服务器此端⼝,然后FTP服务器将通过这个端⼝传送数据。

⼆、相关配置
1.安装FTP服务
yum install -y vsftpd #yum⼀键安装
cd /etc/vsftpd/ #切换到ftp配置⽬录下
cp vsftpd.conf vsftpd.conf.bak
或 cp vsftpd.conf{,.bak} #进⾏原配置⽂件的备份
2、设置匿名⽤户访问的FTP服务(最⼤权限)
修改配置⽂件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #开启匿名⽤户访问,默认已开启
write_enable=YES #开放服务器的写权限(若要上传,必须开启),默认已开启
anon_umask=022 #设置匿名⽤户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES #允许匿名⽤户上传⽂件,默认已注释,需取消注释
anon_mkdir_write_enable=YES #允许匿名⽤户创建(上传)⽬录。

默认已注释,需取消注释
anon_other_write_enable =YES #允许删除、重命名、覆盖等操作,需添加
为匿名访问FTP的根⽬录下的pub⼦⽬录设置最⼤权限,以便匿名⽤户上传数据
chmod 777 /var/ftp/pub
开启服务,关闭防⽕墙和增强型安全功能
systemctl start vsftpd #开启服务
systemctl stop firewalld #关闭防⽕墙
setenforce 0 #关闭系统安全机制
匿名访问测试
win10中打开cmd命令提⽰符
ftp 192.168.184.50 #建⽴ftp连接
ftp> pwd #匿名访问ftp的根⽬录为Linux系统的/var/ftp/⽬录
ftp> ls #查看当前⽬录
ftp> cd pub #切换到pub ⽬录
ftp> get ⽂件名 #下载⽂件到当前Windows本地⽬录
ftp> put ⽂件名 #上传⽂件到ftp⽬录
ftp> quit #退出
设置本地⽤户验证访问ftp,并禁⽌切换到ftp以外的⽬录(默认登录的根⽬录为本地⽤户的家⽬录)vim /etc/vsftpd/vsftpd.conf
local_enable=Yes #启⽤本地⽤户
anonymous_enable=NO #关闭匿名⽤户访问
write_enable=YES #开放服务器的写权限(若要上传,必须开启)
anon_umask=077 #可设置仅宿主⽤户拥有被上传的⽂件的权限(反掩码)
chroot_local_user=YES #将访问禁锢在⽤户的宿主⽬录中
allow_writeable_chroot=YES #允许被限制的⽤户主⽬录具有写权限
systemctl restart vsftpd #重启服务
修改匿名⽤户、本地⽤户登录的默认根⽬录
anon_root=/var/www/html #anon_root 针对匿名⽤户
local_root=/var/www/html #local_root 针对系统⽤户
使⽤user_list⽤户列表⽂件和设置⽩名单和⿊名单
vim /etc/vsftp/user_list
//末尾加上zhangsan⽤户
zhansgan
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES #启⽤user_list⽤户列表⽂件
userlist_deny=NO #设置⽩名单,仅允许user_list⽤户列表⽂件的⽤户访问。

默认为YES,为⿊名单,禁⽤
三、模拟实验⼀(FTP服务的上传和下载)
安装FTP并进⾏配置⽂件的备份
开启服务,关闭防⽕墙和增强型安全功能
匿名访问测试
WIN10上进⾏⽂件的上传
⽂件内容
退出重新登陆
查看上传是否成功
pub⽬录下创建包含内容的新⽂件
WIN10⾥进⾏FTP服务下载,并查看⽂件是否下载成功
四、模拟实验⼆(本地⽤户登录FTP,限制切换到宿主⽬录以外⽬录,并赋予写的权限)
1、进⼊配置⽂件进⾏修改成本地⽤户登录
2、创建本地⽤户
3、测试本地⽤户FTP登录情况
4、更改配置⽂件
5、重启服务
7、进⾏可写权限的测试。

相关文档
最新文档