Linux系列讲解 —— FTP协议的应用

简单介绍一下FTP文件传输协议在linux系统中的应用。

目录

  • 0. 基本概念
  • 1. FTP Server
    • 1.1 安装FTP Server
    • 1.2 FTP Server开启和关闭
    • 1.3 查看FTP Server是否开启
    • 1.4 FTP服务器配置
  • 2. FTP Client
    • 2.1 lftp
    • 2.2 ftp
    • 2.3 sftp
    • 2.4 文件资源管理器集成的ftp和sftp
  • 3. ftp常用命令

0. 基本概念

FTP (File Transfer Protocol):文件传输协议。

FTP是一种用于在TCP/IP网络上进行通信和文件传输的协议。FTP大概可以分为两部分:FTP ServerFTP Client。用户可以在FTP服务器(也称为FTP主机/站点)上接收和传输文件。FTP客户端通过TCP协议连接到FTP服务器,并使用FTP指令与其进行通信。FTP客户端可以浏览远程FTP服务器中的文件和目录,并从FTP服务器下载文件或将文件上传到FTP服务器。

FTP数据传输可以使用两种模式:主动模式和被动模式。在主动模式下,FTP服务器向FTP客户端发送数据;而在被动模式下,FTP客户端向FTP服务器发送数据。

FTP通常使用标准的21号端口进行通信。但是,FTP协议不支持加密,因此在传输敏感信息时需要采取其他安全措施。例如,SFTP (Secure File Transfer Protocol)是一种基于SSH(Secure Shell)协议的加密协议,用于在安全网络上进行文件传输。

1. FTP Server

1.1 安装FTP Server

sudo apt install vsftpd

1.2 FTP Server开启和关闭

#启动服务
sudo service vsftpd start

#关闭服务
sudo service vsftpd stop

#重启服务
sudo service vsftpd restart

1.3 查看FTP Server是否开启

sudo service vsftpd status

开启状态:
在这里插入图片描述

关闭状态:
在这里插入图片描述

1.4 FTP服务器配置

vsftpd的配置文件为/etc/vsftpd.conf,下面讲一下必要的配置选项。

1.使用本地用户登录ftp服务器

参数说明
local_enable=YES允许本地用户登录。
write_enable=YES允许写,如果不设置或者为NO,则不能上传或删除文件。
local_umask=077本地用户的权限掩码,不设置的情况下默认为八进制数077。

注:要保证登录ftp的用户或者该用户所在组对目标目录有读写权限,反例如下
在这里插入图片描述

2.使用匿名用户登录ftp服务器

参数说明
anonymous_enable=YES允许匿名登录。
anon_root=/home/sun/anondir匿名用户的根目录,自定义路径。必须设置,否则匿名登录后,没有目录可用。
write_enable=YES允许写,如果不设置或者为NO,则anon_other_write_enable,anon_upload_enable的设置都会无效。
anon_other_write_enable=YES允许匿名用户写操作,不设置或者为NO,则无法删除文件。需要 write_enable=YES ,否则无效。
anon_upload_enable=YES允许匿名用户上传文件,需要 write_enable=YES ,否则无效。
anon_mkdir_write_enable=YES允许匿名用户创建文件夹,需要 write_enable=YES ,否则无效。
anon_umask=077匿名用户的权限掩码,不设置的情况下默认为八进制数077。

关于匿名用户登录有两个注意点:
(1) 和本地用户登录ftp服务器情况的注意点类似,ftp匿名用户就相当于other用户,保证other用户对目标目录拥有读写权限。
(2) 在ftp服务器上,匿名用户根目录其他人权限不能设置可写权限,如果设置了可写权限,那么ftp匿名登录会报错。
在这里插入图片描述

2. FTP Client

2.1 lftp

lftp比ftp多了tab键补全,命令行显示当前路径,推荐用这个。

安装命令:

sudo apt install lftp

基本用法:

lftp ip地址

例:用administrator登录192.168.1.7主机
在这里插入图片描述

例:匿名登录192.168.1.7主机
需要ftp服务器配置了匿名登录。如何配置ftp服务器匿名登录,linux系统可以看上面FTP Server的部分。

sun@sun-pc:~$ lftp 192.168.1.7
lftp 192.168.1.7:~>

2.2 ftp

ubuntu自带,明文传输,没有tab补全功能,命令行不显示当前路径。
安装命令:

sudo apt install ftp

基本用法:

ftp ip地址

例:用户administrator登录192.168.1.7主机
在这里插入图片描述

例:匿名登录192.168.1.7主机
需要ftp服务器配置了匿名登录。如何配置ftp服务器匿名登录,linux系统可以看上面FTP Server的部分。
在这里插入图片描述

2.3 sftp

sftp也是ubuntu自带的,和ftp客户端类似,多了一个ssh加密传输,这里就不细讲了。

2.4 文件资源管理器集成的ftp和sftp

ubuntu的文件资源管理器自带了ftp和sftp等客户端,如下
在这里插入图片描述

3. ftp常用命令

ftp的命令基本都和linux内建命令相同,但是没有linux命令多。登录ftp服务器后,就可以使用下面命令了。

# 上传文件到当前ftp服务器,put的时候可以按tab键会提示本地机器当前目录有哪些文件
put 文件

# 从当前ftp服务器下载文件
get 文件

# 查看有哪些文件,文件夹
lsls -l

# 查看文件内容
cat 文件

# 切换目录
cd 路径

# 创建文件夹
mkdir 文件夹

# 删除文件或目录
rmrm -r

# 退出登录,其中exit只有linux系统的ftp客户端有效
bye 或 quit 或 exit

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

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

相关文章

下一代计算:嵌入AI的云/雾/边缘/量子计算

计算系统在过去几十年中推动了计算机科学的发展,现在已成为企业世界的核心,提供基于云计算、雾计算、边缘计算、无服务器计算和量子计算的服务。现代计算系统解决了现实世界中许多需要低延迟和低响应时间的问题。这有助于全球各地的青年才俊创办初创企业…

如何安装Python?

如何安装Python? 安装Python非常简单,让我们一步步来进行。 1. 访问官方网站 首先,您需要访问Python官方网站(https://www.python.org/)。在首页上,您会看到一个大大的「Downloads」按钮,点击…

分布式 - 消息队列Kafka:Kafka消费者和消费者组

文章目录 1. Kafka 消费者是什么?2. Kafka 消费者组的概念?3. Kafka 消费者和消费者组有什么关系?4. Kafka 多个消费者如何同时消费一个分区? 1. Kafka 消费者是什么? 消费者负责订阅Kafka中的主题,并且从…

Python的变量命名规则是什么?

Python的变量命名规则 在Python中,变量是用来存储数据的,而变量命名是为了方便我们理解和引用这些数据。Python的变量命名规则相对灵活,但也有一些基本规则和约定,让我们一起来了解一下。 基本规则 只能包含字母、数字和下划线&…

一种多策略下RabbitMQ的延时队列实现

1.为什么会用到延时队列? 场景: 最近在开发一款系统中遇到这样一个场景,A系统开通套餐需要把套餐信息以邮件的形式发送给相关工作人员,经过人工审核通过后,在B系统里面开通,A系统会调B系统套餐列表接口查询套餐是否开通成功,开通成功则从A系统去完成订单,假如超过设定时间未开…

Unity 实现2D地面挖洞!涂抹地形(碰撞部分,方法二)

文章目录 前言一、初始化虚拟点1.1点结构:1.2每个点有的状态:1.3生成点结构: 二、实例化边缘碰撞盒2.1计算生成边缘碰撞盒 三、涂抹部分3.1.虚拟点3.2.鼠标点3.3.内圈3.4.外圈 四、关于优化结语: 前言 老规矩先上效果图 继上一篇涂抹地形文章讲解发出后,有不少网友…

Docker中MySQL应用部署操作步骤

在linux系统下安装mysql、安装redis是非常麻烦的,但是docker出现后,应用安装会非常简洁。 1.MySQL部署 2.docker中部署mysql的步骤 创建mysql容器 这样mysql就部署好了。 外部机器连接docker中部署的mysql

Intel 12代酷睿集体大降价!三折太离谱了

之前有德国媒体报道称,Intel 12/13代酷睿以及即将发布的14代酷睿,将会全面涨价。 没想到,12代酷睿大降价了,幅度相当不可思议,不过至少目前仅限美国市场,新蛋、亚马逊、MicroCenter等大型零售商集体行动。 …

Qt扫盲-QTableView理论总结

QTableView理论总结 一、概述二、导航三、视觉外观四、坐标系统五、示例代码1. 性别代理2. 学生信息模型3. 对应视图 一、概述 QTableView实现了一个tableview 来显示model 中的元素。这个类用于提供之前由QTable类提供的标准表,但这个是使用Qt的model/view架构提供…

四张图片道清AI大模型的发展史(1943-2023)

四张图片道清AI大模型的发展史(1943-2023) 现在最火的莫过于GPT了,也就是大规模语言模型(LLM)。“LLM” 是 “Large Language Model”(大语言模型)的简称,通常用来指代具有巨大规模参数和复杂架构的自然语言处理模型,…

代码随想录算法训练营第58天|动态规划part15|392.判断子序列、115.不同的子序列

代码随想录算法训练营第58天|动态规划part15|392.判断子序列、115.不同的子序列 392.判断子序列 392.判断子序列 思路: (这道题也可以用双指针的思路来实现,时间复杂度也是O(n)) 这道题应该算是编辑距…

java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration

错误: java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfigurationat org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolSession$AbstractTriggerValidator.startTriggerValidator(TezSessionPoolSession.java:74)at org.apache.hadoop.hive.ql.e…

MySQL 约束

查看约束 select * from information_schema.table_constraints where table_name要查看的表名按约束的作用范围 列级约束: 将此约束声明在对应字段的后面 表级约束:在表中所有字段都声明完,在所有字段的后面声明的约束,可以声明…

无涯教程-Perl - s函数

描述 这不是功能。这是正则表达式替换运算符。根据PATTERN中指定的正则表达式,将数据替换为REPLACE。与m //一样,分隔符由s后的第一个字符定义。 语法 以下是此函数的简单语法- s/PATTERN/REPLACE/返回值 如果失败,此函数返回0,如果成功,则返回替换次数。 例 以下是显示…

【C++深入浅出】初识C++上篇(关键字,命名空间,输入输出,缺省参数,函数重载)

目录 一. 前言 二. 什么是C 三. C关键字初探 四. 命名空间 4.1 为什么要引入命名空间 4.2 命名空间的定义 4.3 命名空间使用 五. C的输入输出 六. 缺省参数 6.1 缺省参数的概念 6.2 缺省参数的分类 七. 函数重载 7.1 函数重载的概念 7.2 函数重载的条件 7.3 C支…

PDM/PLM系统建设

仅供学习使用,会随时更新 工程机械跨生命周期数据管理系统 来源:清华大学 浅论企业PDM/PLM系统建设成功经验 来源:e-works 作者:陈凡 https://articles.e-works.net.cn/pdm/article149572.htm 随着“中国制造2025”强基工程战略的…

读高性能MySQL(第4版)笔记02_MySQL架构(下)

1. 事务日志 1.1. 事务日志有助于提高事务的效率 1.1.1. 存储引擎只需要更改内存中的数据副本,而不用每次修改磁盘中的表,这会非常快 1.1.2. 更改的记录写入事务日志中,事务日志会被持久化保存在硬盘上 1.2. 事务日志采用的是追加写操作&…

AUTOSAR规范与ECU软件开发(实践篇)3.3 AUTOSAR系统解决方案介绍(下)

示例将遵循AUTOSAR方法论来进行开发, 所用的AUTOSAR解决方案如图3.6所示。 图3.6 AUTOSAR系统解决方案 首先, 使用Matlab/Simulink来实现部分软件组件级的开发, 主要包括LightRequestSWC和LightControlSWC, 并自动生成应用层软件组…

Qt扫盲- Graphics View框架理论综述

Graphics View框架理论综述 一、概述二、Graphics View 体系结构1. The Scene2. The View3. 图元 Item 三、图形视图坐标系统1. 图元Item的坐标2. Scene Scene坐标3. View 视图坐标4. 坐标映射 四、关键特性1. 缩放和旋转2. 打印3. 拖放4. 鼠标指针和 提示5. 动画6. OpenGL渲染…

Coremail AI实验室:利用高级语境和视觉智能进行钓鱼邮件检测

在这个日益数字化的时代,对电子邮件安全需求是至关重要的。新兴的高级威胁邮件:应用社工技术的钓鱼邮件,仿冒公检法的钓鱼邮件等等,都需要更高级的防御策略。 Coremail邮件安全人工智能实验室,整合了高级文本语境理解和…