FTP 文件传输协议

FTP  文件传输协议

作用

用来传输文件的

FTP协议采用的是TCP作为传输协议,

21号端口用来传输FTP控制命令的,

20号端口用来传输文件数据的

FTP传输模式:

主动模式:

FTP服务端接收下载控制命令后,会主动从tcp/20号端口发送数据传输给客户端

被动模式: 

FTP服务端接收下载控制命令后,会开启一个空闲端口被动等待客户端数据传输连接

FTP控制命令:

pwd   ls   get   put   quit

配置:

允许匿名用户访问FTP服务器           anonymous_enable=YES      anno_root=
允许服务端本地用户访问FTP服务器     local_enable=YES          local_root=

user_list文件作为黑名单       userlist_enable=YES    userlist_deny=YES   
user_list文件作为白名单       userlist_enable=YES    userlist_deny=NO 

listen_port=2121      #设置监控端口
max_clients=100       #最大连接数
max_per_ip=5          #每个IP的最大连接数

实验 

[root@localhost ~]# systemctl disable  firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
//关闭防火墙和核心防护

 安装软件vsftpd

[root@localhost ~]# yum install -y vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================================
 Package                            架构                               版本                                       源                                 大小
==========================================================================================================================================================
正在安装:
 vsftpd                             x86_64                             3.0.2-29.el7_9                             local                             173 k

事务概要
==========================================================================================================================================================
安装  1 软件包

总下载量:173 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 
  验证中      : vsftpd-3.0.2-29.el7_9.x86_64                                                                                                          1/1 

已安装:
  vsftpd.x86_64 0:3.0.2-29.el7_9                                                                                                                          

完毕!
[root@localhost ~]# 
[root@localhost ~]# cd /mnt/Packages
[root@localhost Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm //查看rpm安装包内包含的配置文件列表
警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@localhost Packages]# 
[root@localhost Packages]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers     vsftpd.conf.bak
user_list    vsftpd_conf_migrate.sh
vsftpd.conf
[root@localhost vsftpd]# 

备份

[root@localhost ~]# 
[root@localhost ~]# cd /etc/vsftpd
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# 

配置文件 

[root@localhost vsftpd]# 
[root@localhost vsftpd]# vim vsftpd.conf

 

 

[root@localhost vsftpd]# systemctl start vsftpd
[root@localhost vsftpd]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost vsftpd]# 
[root@localhost vsftpd]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      730/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1580/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1180/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1181/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1560/master         
tcp        0      0 127.0.0.1:6013          0.0.0.0:*               LISTEN      68349/sshd: root@pt 
tcp6       0      0 :::111                  :::*                    LISTEN      730/rpcbind         
tcp6       0      0 :::21                   :::*                    LISTEN      69322/vsftpd        
tcp6       0      0 :::22                   :::*                    LISTEN      1180/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1181/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1560/master         
tcp6       0      0 ::1:6013                :::*                    LISTEN      68349/sshd: root@pt 
[root@localhost vsftpd]# 

验证

打开一台win10

 

 

 

下载文件 

 指定下载位置 

上传文件 

ftp> put youzi.txt

设置匿名用户

[root@localhost ftp]# cd /etc/vsftpd
[root@localhost vsftpd]# vim vsftpd.conf

[root@localhost vsftpd]# useradd cywl
[root@localhost vsftpd]# echo 123456 |passwd --stdin cywl
更改用户 cywl 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# useradd lty
[root@localhost vsftpd]# echo 123456 |passwd --stdin lty
更改用户 lty 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# 
[root@localhost vsftpd]# systemctl restart vsftpd  //重启
[root@localhost vsftpd]#

匿名用户登录失败 

非匿名用户登录成功

C:\Users\Lin\Desktop>ftp 20.0.0.20
连接到 20.0.0.20。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(20.0.0.20:(none)): cywl
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd  //查询当前位置
257 "/home/cywl"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> put youzi.txt  //上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 11 字节,用时 0.00秒 11000.00千字节/秒。
ftp>

图形化界面登录

白名单黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

白名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

 

 

[root@localhost vsftpd]# vim user_list
[root@localhost vsftpd]# 

 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

名单内可以登录 

 

名单外不可以登录

  

黑名单 

[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# 

[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# 

 名单内不可以登录

名单内可以登录 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581831.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言之详细讲解文件操作

什么是文件 与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件…

修改word文件的创作者方法有哪些?如何修改文档的作者 这两个方法你一定要知道

在数字化时代,文件创作者的信息往往嵌入在文件的元数据中,这些元数据包括创作者的姓名、创建日期以及其他相关信息。然而,有时候我们可能需要修改这些创作者信息,出于隐私保护、版权调整或者其他实际需求。那么,有没有…

短信验证码绕过漏洞(一)

短信验证码绕过漏洞 0x01原理: 服务器端返回的相关参数作为最终登录凭证,导致可绕过登录限制。 危害:在相关业务中危害也不同,如找回密码,注册,电话换绑等地方即可形成高危漏洞,如果是一些普…

常用算法代码模板 (3) :搜索与图论

AcWing算法基础课笔记与常用算法模板 (3) ——搜索与图论 常用算法代码模板 (1) :基础算法 常用算法代码模板 (2) :数据结构 常用算法代码模板 (3) :搜索与图论 常用算法代码模板 (4) :数学知识 文章目录 0 搜索技巧1 树与图的存…

【Scala---01】Scala『 Scala简介 | 函数式编程简介 | Scala VS Java | 安装与部署』

文章目录 1. Scala简介2. 函数式编程简介3. Scala VS Java4. 安装与部署 1. Scala简介 Scala是由于Spark的流行而兴起的。Scala是高级语言,Scala底层使用的是Java,可以看做是对Java的进一步封装,更加简洁,代码量是Java的一半。 因…

MATLAB语音信号分析与合成——MATLAB语音信号分析学习资料汇总(图书、代码和视频)

教科书:MATLAB语音信号分析与合成(第2版) 链接(含配套源代码):https://pan.baidu.com/s/1pXMPD_9TRpJmubPGaRKANw?pwd32rf 提取码:32rf 基础入门视频: 视频链接: 清…

MCU自动测量单元:自动化数据采集的未来

随着科技的飞速发展,自动化技术在各个领域中的应用日益广泛。其中,MCU(微控制器)自动测量单元以其高效、精准的特性,成为自动化数据采集领域的佼佼者,引领着未来数据采集技术的革新。本文将深入探讨MCU自动测量单元的原理、优势以…

Vue2 - 完成实现ElementUI中el-dialog弹窗的拖拽功能(宽度高度适配,且关闭后打开位置居中)

我们在做后台管理系统时常用到ElementUI 中的 el-Dialog,但是官方文档并未我们提供 el-Dialog弹窗如何实现拖拽功能,我们通常需要思考如何让用户能够自由地拖动弹窗,在页面上调整位置以获得更好的用户体验。在下面的博客文章中,我们将实现如何为 ElementUI 的 el-Dialog 弹…

网络安全 SQLmap-tamper的使用

目录 使用SQLmap Tamper脚本 1. 选择合适的Tamper脚本 2. 在命令行中使用Tamper脚本 3. 组合使用Tamper脚本 4. 注意和考虑 黑客零基础入门学习路线&规划 网络安全学习路线&学习资源 SQLmap是一款强大的自动化SQL注入和数据库取证工具。它用于检测和利用SQL注入漏…

大数据005-hadoop003-了解MR及Java的简单实现

了解MapReduce MapReduce过程分为两个阶段:map阶段、reduce阶段。每个阶段搜键-值对作为输入和输出。 要执行一个MR任务,需要完成map、reduce函数的代码开发。 Hellow World 【Hadoop权威指南】中的以分析气象数据为例,找到每年的最高气温。…

基于Springboot的校园博客系统

基于SpringbootVue的校园博客系统 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 文章信息 系统公告 后台登录 后台首页 博主管理 文章分类管理 文章信息管理 举报投诉管…

将要上市的自动驾驶新书《自动驾驶系统开发》中摘录片段

全书共分15章:第1章是自动驾驶系统的概述(场景分类、开发路径和数据闭环等),第2章简介自动驾驶的基础理论,即计算机视觉和深度学习等,第3~4章是自动驾驶的软硬件平台分析,包括传感器…

面试:Redis

目录 一、缓存穿透 1、解决方案一: 2、解决方案二: 二、缓存击穿 1、解决方案一: 2、解决方案二: 三、缓存雪崩 1、解决方案一: 2、解决方案二: 3、解决方案三: 4、解决方案四&#x…

创建基于时间的 UUID

概述 在本文中,我们将会 对 UUIDs 和基于时间的 UUIDs(time-based UUIDs) 进行一些探讨。 当我们在对基于时间的 UUIDs 进行选择的时候,总会遇到一些好的方面和不好的方面,如何进行选择,也是我们将要简要…

数字签名学习

1 基本概念 数字签名是一种加密技术,用于验证信息来源的身份和数据的完整性。 就是对一个东西签上自己的名;收到的人可以验证这东西是你发的;这里是用数字的方式; 对字符串也可以签名,签名以后,还是一个…

《面向云计算的零信任体系第1部分:总体架构》行业标准正式发布

中华人民共和国工业和信息化部公告2024年第4号文件正式发布行业标准:YD/T 4598.1-2024《面向云计算的零信任体系 第1部分:总体架构》(后简称“总体架构”),并于2024年7月1日正式施行。 该标准由中国信通院牵头&#xf…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

web安全---CSRF漏洞/OWASP-CSRFTester的使用

what 跨站请求伪造 Cross Site Request Forgery how 攻击者诱骗点击恶意网页,盗用(伪造)受害者的身份,以受害者的名义向服务器发送恶意请求,而这种恶意请求在服务端看起来是正常请求 CSRF&&XSS区别 他们最本质区别就…

什么是中间件?中间件有哪些?

什么是中间件? 中间件(Middleware)是指在客户端和服务器之间的一层软件组件,用于处理请求和响应的过程。 中间件是指介于两个不同系统之间的软件组件,它可以在两个系统之间传递、处理、转换数据,以达到协…

ArcGIS基础:便捷分享图层包和地图包

1、分享图层包: 首先,选中要分享的数据,右键创建图层包,修改保存路径。 找到项目描述那一栏,将摘要、标签、描述都填写分享图层包的相关内容。 一切设置好之后,点击右上角的【分析】按钮。 点击分析之后…