当前位置: 首页 > news >正文

Linux系统的FTP文件传输服务

一.FTP简介

Linux环境下高性能的FTP命令行工具,能够利用FTP协议进行高效的文件传输管理。借助此强大工具,用户能轻松连接远程服务器,执行上传、下载、删除及重命名等操作,显著提高两台设备间的文件交互效率。

1.FTP什么

ftp是一种文件传输协议

2.FTP的作用

用来上传和下载,实现远程共享文件,和统一管理文件

3.FTP属于什么层

应用层

4.FTP的端口号

端口号:21     主动模式下端口号:20    被动模式下:随机端口

5.FTP的连接方式的两个阶段

(1)管理连接:客户端使用随机端口(端口号值大于1024,也被称为高位端口)连接服务器的21号端口,利用管理连接建立的通道发送指令。
(2)数据连接:上传或下载文件

6.数据连接下的两种模式

(1)主动模式:服务器(20端口)主动向客户端发起数据连接(随机端口,一般是N+1)客户端的防火墙会拦截服务器发起的连接(服务器连客户端)

(2)被动模式:服务器(随机端口)等待客户端(随机端口)向自己发起连接服务器需要处理防火墙(关闭,添加策略)(客户端连服务器)

7.ftp的用户类型及登录

匿名用户:用户名ftp,无需密码登录
授权用户:账号名及密码登录

8.FTP服务在客户端与服务器的名称

服务器端:vsftpd
客户端:ftp

9.FTP的两种传输模式

(1)文本模式:ASCII模式美国信息交换信息标准码 这种模式传输文件使用ASCII标准字符序列,一般只用于传输文件文件的传输。

(2)二进制模式:又称为Binary这种模式不会转换文件中的字符序列,跟适合传输程序图片等非文本文件
 Vsftpd可支持最大15000并发连接数

10.FTP的工作原理

用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。

二.FTP的相关配置

1.安装FTP

服务器:安装vsftpd
客户端:安装ftp

2.关闭服务器防火墙,内核安全机制及启动ftp服务

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# setenforce 0

3.配置ftp服务的文档

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf   删除文本里面以'/^#/d'开头参数,剩余显示的是需要配置的参数

4.相关参数介绍

anonymous_enable=YES   允许匿名登录
local_enable=YES       允许本地用户访问
write_enable=YES       允许用户上传和下载文件
local_umask=022        设置上传的文件的默认权限
dirmessage_enable=YES    允许在目录上传送完毕后显示一条消息。
xferlog_enable=YES     启用日志功能
connect_from_port_20=YES   使用端口20进行数据传输
xferlog_std_format=YES     使用标准的日志格式
listen=NO    表示以非独立的服务进行
listen_ipv6=YES    表示vsftpd将监听IPv6连接
pam_service_name=vsftpd   
使用PAM进行认证
userlist_enable=YES    启用用户列表文件
tcp_wrappers=YES    表示服务器使用tcp_wrappers作为主机访问控制方式

5.匿名用户的相关配置
anonymous_enable=YES   
允许匿名登录
anon_umask=022    允许匿名用户访问的权限设置
anon_root=/opt/ftp    匿名用户登录后只能在该目录下操作
anon_upload_enable=yes    匿名
用户不能浏览目录,只能上传文件,无其他权限
anon_mkdir_write_enable=yes    允许匿名用户创建目录
anon_other_write_enable=yes      允许匿名用户删除

6.本地用户的相关配置
local_enable=YES      允许本地用户访问
local_root=/opt/ftp       本地用户登录后只能在该目录下操作
local_umask=022        允许本地用户访问的权限设置
chroot_local_user=yes    将所有用户限制在主目录
allow_writeable_chroot=yes    允许在chroot环境中创建可写文件

7.主动模式被动模式的相关配置
pasv_enable=yes     
YES即被动模式,NO即主动模式
pasv_min_port=30500      最小端口值
pasv_max_port=30600     最大端口值

8.黑名单与白名单

(1)vim /etc/vsftpd/ftpusers
ftpusers黑名单文件,存在该文件中的用户无法登陆
(2)vim /etc/vsftpd/user_list
User_list 白名单文件,如果设置userlist_deny=NO  Userlist_enable=YES则只允许该列表中的用户登录
注:若一个用户同时存在两个文件中,黑名单生效,该用户不能登陆虚拟用户模式。

9.使用虚拟用户可以将用户的登录名和密码不相同,提高服务器的安全性

第一步:创建文本格式的用户名和密码  奇数行为用户名,偶数行为密码

第二步:建立虚拟FTP用户的数据库文件

第三步:添加虚拟用户的映射账号

第四步:为虚拟用户建立PAM认证文件

第五步:修改配置文件添加虚拟用户的支持

Local_enable=YES  #需要映射本地用户所以启用
Write_enable=YES  ##启用上传写入权限
Guest_enable=YES  ##开启虚拟用户
Anon_umask=022 ### 指定上次权限掩码
Guest_username=*  ###指定映射的本地系统用户
Pam_serrivce_name=vsftpd.vu  ##指定新的pam认证文件
User_config_dir=/*/*/*/   ###为不同的虚拟用户设置不同的权限

匿名用户模式:
anonymous_enabled=YES     ##允许匿名访问模式。默认开的
Anonumask=022     ##匿名用户上传文件或目录权限,所上传的文件或目录的权限减去022文件默认权限是644 目录的755
Anon_upload_enable=YES       ##允许匿名用户上传文件
Anon_mkdir_write_enable=YES         ##允许匿名用户创建目录Anon_other_ write_enable=YES       ##允许匿名用户有其他的写入权限 (删除或者修改)

10.相关命令

put  上传
local   跳转
wget   下载

相关文章:

Linux系统的FTP文件传输服务

一.FTP简介 Linux环境下高性能的FTP命令行工具,能够利用FTP协议进行高效的文件传输管理。借助此强大工具,用户能轻松连接远程服务器,执行上传、下载、删除及重命名等操作,显著提高两台设备间的文件交互效率。 1.FTP什么 ftp是一…...

redis 08 慢查询日志

1.什么是慢查询日志 2.慢查询和两个参数有关 2.1 2.2 3.例子: 4 参数详细介绍:...

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(三十一)- 微服务(11)

12.7 DSL查询语法 查询的基本语法 GET /indexName/_search{"query": {"查询类型": {"查询条件": "条件值"}}} 查询所有 GET /hotel/_search{"query": {"match_all": {}}} 12.7.1 全文检索查询 全文检索查询,会…...

DevExpress WPF中文教程:Grid - 如何向项目添加GridControl并绑定到数据

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,旅游行业当然也不能排除在外。智慧乡村旅游平台是以实际运用为开发背景,运用软件工程开发方法,采…...

架构设计 - 根据性能压力测试结果优化服务器性能

概述:web软件项目工程实施过程,经常会用到客户端和服务端建立 KeepAlive 长连接来提高应用效率的场景。例如:移动端应用或者复杂的网页交互需要在用户浏览时频繁地向服务端发送请求。但是随之而来的问题是,需要对服务器端 tomcat …...

【必会面试题】事务的四大特性?ACID

目录 事务的四大特性,即ACID特性,是数据库管理的基石。 原子性(Atomicity) 定义:事务作为一个整体被执行,其内部的操作要么全部完成,要么全部不完成。如果事务中的任何一部分失败,那…...

【QT】记录一次QT程序发布exe过程

记录一次QT程序发布exe过程 使用windeploy与enigma发布独立的QT程序第一步 QT编译输出 **release** 版本第二步 QT 自带 windepoyqt 补全链接库第三步 enigma virtual box压缩打包为单一exe最后【2024-06-07 17】- 【补充】 贴一个自己用的bat脚本【**QtDeploy2exe.bat**】半自…...

数据分类分级,误把起点当终点

数据分类分级 吉祥学安全知识星球🔗除了包含技术干货:Java代码审计、web安全、应急响应等,还包含了安全中常见的售前护网案例、售前方案、ppt等,同时也有面向学生的网络安全面试、护网面试等。 01 — 数据分类分级的定义 数据分…...

stm32 启动文件分析

启动文件前面的介绍 启动文件是后缀为.s的汇编语言文本文件,每行前面的分号表示此行是注释行。 启动文件主要完成如下工作,即程序执行过程: - 设置堆栈指针SP __initial_sp。 - 设置PC指针 Reset_Handler。 - 设置中断向…...

playwright--简单使用

playwright的基本使用主要围绕着启动浏览器、导航至网页、操作页面元素、执行脚本和收集数据这几个核心步骤。以下是简单的使用流程,以同步API为例: 目录 1. 导入库并启动playwright 2. 创建新页面并导航 3. 操作页面元素 4. 异步操作与等待 5. 数…...

pom学习笔记:kimi的自动化操作

1.先看结构: 声明:我是初学,可能有不合理的地方。 2.Base层。 我是把原来一个kimi的自动问答的代码改过来。 分析:其实我是新手,因为我用的浏览器是固定的,也没有打算和别人用。所以浏览器层面年的全部写…...

【iOS】UI学习——界面切换

界面切换 push和poppresent和dismiss示例程序 push和pop 在 Objective-C 中,pop 和 push 通常是与 UINavigationController 一起使用的方法,用于控制导航栈中视图控制器的跳转和回退。 push 和 pop 通常成对使用,用于实现导航栈的前进和后退功能。当用户进入新的视图控制器时…...

【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架 代码: %书第156页、159页 clc clear close all %% 一.悬架参数 ms320; mw50; Ks22000; Cs1500; Kw195000; f00.07; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 二.垂向振动动力学仿真 %% 二.1.状态方程 A [0 1 0 -1;.…...

【C++】——继承(详解)

一 继承的定义和概念 1.1 继承的定义 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类,被继承的称为基类…...

openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现

文章目录 openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现299.1 概述299.2 使用指导299.2.1 前提条件299.2.2 SQL流水采集方法299.2.3 操作步骤299.2.4 使用方法示例299.3 获取帮助299.4 命令参考299.5 常见问题处理openGauss学…...

Git 分支管理规范化[Git Flow ]分支管理策略

分支命名规范 master 分支&#xff1a;master 分支只有一个&#xff0c;名称即为 master。GitHub 现在叫 main develop 分支&#xff1a;develop 分支只有一个&#xff0c;名称即为 developfeature 分支&#xff1a;feature/<功能名>&#xff0c;例如&#xff1a;featu…...

一键Mock工具(Http协议接口调试工具)

点击下载《一键Mock工具&#xff08;Http协议接口调试工具》 1. 前言 在进行Web开发时&#xff0c;前端小伙伴通常是和后端开发人员同步进行项目开发&#xff0c;经常会遇到后端开发人员接口还没开发完&#xff0c;也没有可以调试的环境&#xff0c;只能按照接口文档进行“脑…...

Golang的context

目录 context的基本使用 为什么需要context Context interface 标准 error emptyCtx cancelCtx Deadline 方法 Done 方法 Err 方法 Value 方法 context.WithCancel() newCancelCtx WithCancel中propagateCancel cancel timerCtx valueCtx context的基本使用…...

Android 各个版本名称和特性总结(持续更新)

我们就从Android 5.0开始吧&#xff0c;因为从写文时起&#xff0c;大部分手机都到5.0了。 目录 Android5.0 &#xff08;Lollipop 棒棒糖&#xff09;新特性 Android6.0新特性 Android7.0新特性 Android8.0(O)新特性 Android9.0新特性 Android10.0(Q)新特性 Android11…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...