Linux的FTP服务

本章概述

主要介绍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)

在这里插入图片描述

下载完成之后进行开启服务

38

进行备份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 针对匿名用户(如果不设置默认为此目录,可以进行修改,修改之后修改给它权限)

在这里插入图片描述

42

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

在这里插入图片描述

重启服务

44

1.3 匿名访问测试

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

  • windows下面的根目录在linux上面显示的目录就是“ /var/ftp/pub ”
    在这里插入图片描述

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

在这里插入图片描述

查看windows中是否可查看文件

在这里插入图片描述

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

在这里插入图片描述

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

49

在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  注释

修改配置文件内容

52

53

54

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

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

55

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

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

56

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

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

57

在centos 7 中查看上传的目录

在这里插入图片描述

2.4 设置黑白命令

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

进入配置文件

在这里插入图片描述

将yudeqiang用户加入到黑名单

在这里插入图片描述

再从windows系统上进行登录

61

五、总结

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

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

且有两种传输模式

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

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

具体的实验为

  • 匿名登录: 主要就是配置ftp服务,进行任何用户都可以进行登录到FTP服务器中的指定的目录中下载或上传文件。

的高位端口进行传输数据

  • 被动模式: 客户端通过自己的高位端口连接到FTP服务器的21端口,发送用户名、吗,IMA、端口号、PASV给到FTP服务端,其中PASV就是告知服务端,此次连接为被动模式,ftp服务器收到后返回一个高位接口给到客户端,客户端进行连接ftp服务器的高位端口进行传输数据
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux ftp服务器是一种用于在Linux操作系统上运行的文件传输协议(FTP服务器。通过FTP服务器,用户可以在本地计算机和服务器之间传输文件。在Linux系统中,常用的FTP服务器软件包括vsftpd和proftpd。 引用中提到了如何安装和配置vsftpd(Very Secure FTP Daemon)作为一个FTP服务器。首先,需要通过dnf命令安装vsftpd软件包。然后,使用systemctl命令将vsftpd设置为开机启动。最后,启动vsftpd服务并使用lsof命令验证其是否启动。 引用中提到了FTP服务器的配置文件。在Linux系统中,主要的FTP配置文件是vsftpd.conf文件,通常位于/etc/vsftpd/目录下。在配置文件中,可以设置FTP服务器的各种参数和选项,如监听IP地址、允许的用户、允许的访问权限等。 引用提到了FTP支持的两种模式:Standard模式和Passive模式。在Standard模式下,FTP客户端通过发送PORT命令来与FTP服务器建立数据连接。而在Passive模式下,FTP客户端发送PASV命令来与FTP服务器建立数据连接。这两种模式的选择取决于网络环境和防火墙设置。 综上所述,Linux ftp服务器是一种用于在Linux操作系统上运行的文件传输协议(FTP服务器,常用的软件包括vsftpd和proftpd。可以通过安装、配置和启动FTP服务器软件来搭建一个功能完善的FTP服务器,同时可以根据需要进行FTP服务器的参数和选项的配置。同时,FTP服务器支持Standard模式和Passive模式两种数据传输模式,具体选择取决于实际需求和网络环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【LinuxFTP文件服务器](https://blog.csdn.net/qq_45277554/article/details/131452806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值