FTP 文件传输协议

news2024/11/28 2:41:39

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]# 

 名单内不可以登录

名单内可以登录 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pyaibote--安卓自动化环境配置与基础的使用方法

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 pyaibote介绍 pyaibote是一个全新,强大的办公自动化库。 支持找图,识别像素等操作。 比appium快十倍。 文章介绍 有大佬给我提到这个库后,我来查看。然后发现这个库太新了&am…

自然语言处理 (NLP) 中的迁移学习

--懂王 在大数据高速发展的时代,AI的发展日新月异,充满挑战的迎接未来。 自然语言处理 (NLP) 中的迁移学习: 迁移学习在 NLP 中越来越受欢迎,特别是在数据稀缺的情况下。如何有效地利用预训练的语言模型,并将其迁移到新的任务和领…

windows驱动开发-中断(一)

中断是windows中最难的一部分,这是因为中断本身属于操作系统的一部分,理解了中断和内存,对整个系统也就了解了。 中断部分会先从中断优先级、中断处理、中断服务例程入手,大概讲述一下中断的概念;接着从中断的一般实现…

如何买到“30元以下”的免备案服务器?

对于预算有限的个人和小型企业来说,30 元以下免备案服务器的价格非常亲民。用户可以以极低的成本获得所需的服务器资源,这对创业者、个人开发者、学生和站长来说简直不要太划算,毕竟配置可以升级真不够后面再付费升级也行。 何为“免备案”&…

ROS1快速入门学习笔记 - 07话题消息的定义与使用

目录 一、话题模型 二、自定义话题消息 1. 在功能包下创建msg目录用于存储话题文件 2. 在package.xml文件中添加功能包依赖; 3. 在CMakeLists.txt增加编译选项; 4. 完成编译 5. 配置CMakeLists.txt中的编译规则(增加发布者和订阅者&am…

Meta Llama 3 性能提升与推理服务部署

利用 NVIDIA TensorRT-LLM 和 NVIDIA Triton 推理服务器提升 Meta Llama 3 性能 我们很高兴地宣布 NVIDIA TensorRT-LLM 支持 Meta Llama 3 系列模型,从而加速和优化您的 LLM 推理性能。 您可以通过浏览器用户界面立即试用 Llama 3 8B 和 Llama 3 70B(该…

卫浴品牌商家做展示预约小程序的作用是什么

卫浴品牌类别多、普通/智能、场景化等,无论企业还是经销商市场门店都比较饱满,虽然市场需求度高,但同样需要商家不断拓宽销售渠道和挖掘客户价值,破圈增长。 线上多平台发展尤为重要,而小程序作为连接点,对…

深度学习模型的优化和调优de了解

深度学习模型的优化和调优:随着深度学习应用的广泛,优化和调优神经网络模型成为了一个重要的问题。这包括选择合适的网络架构、调整超参数、应对过拟合等。 深度学习模型的优化和调优是指在训练神经网络模型时,通过一系列技术和方法来提高模型…

无缝迁移:从阿里云WAF到AWS的成功转变之路

在当今数字化浪潮中,网络安全已经成为企业发展的重要组成部分。阿里云WAF(Web 应用防火墙)作为一种重要的网络安全解决方案,帮助企业保护其 Web 应用免受各种网络攻击。 然而,随着企业业务的扩展和需求的变化&#xf…

SA模拟退火算法优化高斯回归回归预测matlab代码

SA高斯回归回归预测matlab代码 模拟退火算法(Simulated Annealing,简称SA)是一种用于解决优化问题的启发式算法。它受到固体退火过程中温度逐渐降低的启发,通过随机性的搜索和接受劣解的策略,来在复杂的搜索空间中寻找…

JAVA读取从WPS在Excel中嵌入的图片资源

读取从WPS在Excel中嵌入的图片资源 引言 许多数据文件中可能包含嵌入式图片,这些图片对于数据分析和可视化非常重要。然而,从 WPS 在 Excel 中读取这些图片可能会有一些技术挑战。在本文中,我将展示如何从 WPS Excel 文件中读取嵌入的图片&am…

618科技嘉年华!五款极致科技产品,开启智能生活新篇章!

准备好迎接一年一度的618了吗?这不仅仅是一场购物的狂欢,更是一次科技的盛宴,一次智能生活的全新启航。今年,我们将带来五款令人瞩目的极致科技产品,它们将彻底颠覆你对智能生活的认知。从娱乐到工作,这些产…

逆向案例三十——webpack登录某游戏

网址:aHR0cHM6Ly93d3cuZ205OS5jb20v 步骤: 进行抓包分析,找到登录接口,发现密码有加密 跟栈分析,从第三个栈进入,打上断点,再次点击登录 明显找到password,它由o赋值,o由a.encode(…

RAGFlow:安装与体验

服务器需要有docker,或者直接访问官方提供的demo: https://demo.ragflow.io/ docker-compose安装 需要确保 vm.max_map_count 不小于 262144 【更多】:sysctl -w vm.max_map_count=262144 克隆仓库:$ git clone https://github.com/infiniflow/ragflow.git 进入 doc…

基于3D机器视觉的注塑缺陷检测解决方案

注塑检测是对注塑生产过程中的产品缺陷进行识别和检测的过程。这些缺陷可能包括色差、料流痕、黑点(包括杂质)等,它们可能是由多种因素引起,如原料未搅拌均匀、烘料时间过长、工业温度局部偏高、模具等问题造成的。不仅影响产品的…

STM32 SPI通信

一、SPI总线简介 1.1 SPI总线 串口外设接口(Serial Peripheral Interface,SPI)总线是一种同步串行外设接口,允许MCU与各种外围设备进行全双工、同步串行通信 SPI总线有四根通信线: ①SCK(Serial Clock&a…

神经网络:手写数字图像识别

一、导入相关库函数 import matplotlib.pyplot as plt import tensorflow as tf import keras import numpy as np 二、载入mnist数据集 使用keras.中的mnist数据集 (train_images, train_labels), (test_images, test_labels)\ keras.datasets.mnist.load_data() 三、测…

【java9】java9新特性之接口的私有方法

在Java 9中,接口可以包含私有方法(包括静态私有方法和实例私有方法)。这允许接口的设计者创建一些辅助方法,这些方法只能被接口中的其他方法所使用,而不能被实现该接口的类直接访问。 Java7 Java7及之前 &#xff0c…

PyVista 3D数据可视化 Python 库 简介

Pyvista是一个用于科学可视化和分析的Python库 ;我认为它适合做一些网格数据的处理; 它封装了VTK(Visualization Toolkit)之上,提供了一些高级接口, 3D数据可视化变得更加简单和易用。 1.安装 pyvista&…

嵌入式软件学习--linux(1)

一.文件系统 二.shell (从环境变量中)解析输入指令找到(bin中)对应命令。 三 ./执行是因为需要知道执行文件的路径, 同样可以使用绝对路径运行。 echo $PATH 查看环境变量 。若在,可执行 &#x…