LInux的FTP服务

导读:本篇文章讲解 LInux的FTP服务,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

本章概述

主要介绍FTP服务是什么?有什么功能,有哪些传输模式,并进行试验配置服务。

一、什么是FTP服务?

FTP(file Transfer Protocol,文件传输协议),是典型的C/S架构的应用层协议,由客户端软件和服务端软件两个部分共同实现文件传输功能,FTP客户端和服务器之间的连接时可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP 是TCP传输协议,主要使用20和21端口

  • 20端口用来传输数据
  • 21端口用来建立连接(传输指令)

FTP是一种文件传输协议,它支持两种模式

  • 一种叫做Standard(也就是Active,主动方式),客户端发送PORT命令到服务器。
  • 另一种叫做Passive(也就是PASV被动方式),客户端发送PASV命令到服务器。

二、FTP的作用和接口信息

FTP的作用

  • internet上用来传输文件的协议

FTP服务器的接口信息

  • 20端口用于建立数据连接,并传输文件数据
  • 21端口用于建立控制连接,并传输FTP的控制命令

三、FTP的工作原理和流程

FTP数据连接分为主动模式和被动模式

  • FTP会话包含了两个通道, 控制通道数据传输通道 ,FTP的工作有两种模式,一种是主动模式,一种的被动模式,以FTP server为参照。
  • 主动模式: 服务器主动连接客户端传输
  • 被动模式: 服务器等待客户端连接。

注意:无论时主动还是被动模式,首先控制通道都是先建立起来,只是在数据传输模式上的区别。

1、主动模式

FTP客户端连接到FTP服务端的21号端口,发送用户名和密码,客户端随机开放一个端口(高位端口:1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式,并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据。

image-20220616003211643

解释: 主动模式就是:客户端开放一个高位端口连接到FTP服务器的21号端口,发送用户名和密码和PORT命令以及自己开放的高位端口号,告知FTP服务器、客户端采用的是主动模式,FTP服务器收到PORT命令和端口后,通过自己的20号端口来和客户端另一个端口号进行连接,发送数据

注意:主动模式的情况,客户端必须关闭防火墙,否则无法传输数据。

2、被动模式

FTP客户端连接到FTP服务器所监听的21号端口,发送用户名和密码,还有PASV命令到FTP服务器,服务器在本地随机开放一个端口(1024以上),然后把开放的端口告知客户端,然后客户端再连接到服务器开放的端口进行数据传输。

image-20220616005351885

解释: 被动模式就是:客户端连接到FTP服务器的21号端口,发送用户名和密码和PASV和自己开放的一个端口,告诉FTP服务器,客户端采用的是被动模式,服务端收到后,会在本地也开放一个高位端口号,并告知客户端这个端口号,等待客户端过来进行连接,客户端通过自己的另一个高位端口号连接FTP的高位端口号之后,开始传输数据。

四、搭建和配置FTP服务

1、匿名用户案例

1.1 下载服务包、备份配置文件

关闭防火墙、核心防护
在这里插入图片描述

查看下载FTP服务包(服务包为vsftpd)
在这里插入图片描述
下载完成之后进行开启服务
在这里插入图片描述

进行备份ftp服务的主要配置文件

在这里插入图片描述

1.2 修改配置文件

进入配置文件

在这里插入图片描述

需要修改配置文件内容描述

anonymous_enable=YES           #开启匿名用户访问。默认开启
write_enable=YES               #开放服务器的写权限(若要上传必须开启)。默认已开启
local_umask=022                 #设置用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES         #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES    #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable=YES    #允许匿名删除、重命名、覆盖等操作。需添加

anon_root=/var/ftp/pub       
#anon_root 针对匿名用户(如果不设置默认为此目录,可以进行修改,修改之后修改给它权限)

在这里插入图片描述
在这里插入图片描述

修改文件 /var/ftp/pub 权限为777

在这里插入图片描述

重启服务
在这里插入图片描述

1.3 匿名访问测试

开启一台windows系统,进行登录

  • windows下面的根目录在linux上面显示的目录就是“ /var/ftp/pub ”

在这里插入图片描述

在FTP服务器中的共享目录创建一个文件

在这里插入图片描述

查看windows中是否可查看文件
在这里插入图片描述

可以将看到的文件下载到本地

在这里插入图片描述

也可以在windows本地创建文件进行上传的到FTP服务器

在这里插入图片描述

在FTP服务器上进行查看FTP共享文件,是否有windows上传的文件

在这里插入图片描述

2、用户登录模式

首先前面的配置跟匿名登录一样操作,在配置文件中的定义存在区别,具体操作如下

2.1 修改配置文件

进入配置文件

在这里插入图片描述

配置文件内容介绍

local_enable=Yes              #启用本地用户
anonymous_enable=NO          #关闭匿名用户访问
write_enable=YES              #开放服务器的写权限(若要上传,必须开启) 
local_umask=077               #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES         #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES    #允许被限制的用户主目录具有写权限

#anon_mkdir_write_enable=YES  注释	
#anon_other_write_enable=YES  注释

修改配置文件内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 创建需要登录的用户,更换需要共享的目录

配置好后可以创建一个目录用来当做FTP的共享目录,还需要创建一个用户用来作为此用户的属主目录

在这里插入图片描述

然后再进入到配置文件中,将刚所创建的目录添加到配置文件中

local_root=/var/ftp/data      #local_root针对系统用户

在这里插入图片描述

2.3 进行验证测试上传(put)和下载(get)文件

进入windows系统,使用创建的用户进行连接ftp服务器

在这里插入图片描述

在centos 7 中查看上传的目录

在这里插入图片描述

2.4 设置黑白命令

在黑明单内的用户,在别的系统上面就无法完成登录的操作

进入配置文件

在这里插入图片描述

将yudeqiang用户加入到黑名单

在这里插入图片描述

再从windows系统上进行登录

在这里插入图片描述

五、总结

FTP服务就是一个传输文件的协议

主要使用20(用来传输)和21(用来控制)两个端口用来连接和传输文件

且有两种传输模式

  • 主动模式: 客户端通过自己的高位端口连接到ftp服务器的21端口,发送用户名、密码、端口号、PORT给FTP服务端,其中PORT就是告诉服务端,此时此刻连接为主动模式,然后FTP服务器将使用自己的20端口连接到客户端的高位端口进行传输数据
  • 被动模式: 客户端通过自己的高位端口连接到FTP服务器的21端口,发送用户名、吗,IMA、端口号、PASV给到FTP服务端,其中PASV就是告知服务端,此次连接为被动模式,ftp服务器收到后返回一个高位接口给到客户端,客户端进行连接ftp服务器的高位端口进行传输数据

具体的实验为

  • 匿名登录: 主要就是配置ftp服务,进行任何用户都可以进行登录到FTP服务器中的指定的目录中下载或上传文件。
  • 用户登录: 主要就是配置ftp服务,将需要共享的目录加入到被登录的用户中,客户端登录时,只能在该目录下进行上传和下载文件,其它的目录文件不能修改。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75056.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!