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

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

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

相关文章

IDE的下载和使用

IDE 文章目录 IDEJETBRAIN JETBRAIN 官网下载对应的ide 激活方式 dxm的电脑已经把这个脚本下载下来了,脚本是macjihuo 以后就不用买了

深入源码分析kubernetes informer机制(四)DeltaFIFO

[阅读指南] 这是该系列第四篇 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 client-go中的存储结构DeltaFIFOdelta索引 keyqueue push操作delta push 去重 queue pop操作 总结 client-go中的存储结构…

设计模式

本文主要介绍设计模式的主要设计原则和常用设计模式。 一、UML画图 1.类图 2.时序图 二、设计模式原则 1.单一职责原则 就是一个方法、一个类只做一件事; 2.开闭原则 就是软件的设计应该对拓展开放,对修改关闭,这在java中体现最明显的就…

Docker本地镜像发布到阿里云

1. 本地镜像发布到阿里云 2. 镜像的生成方法 OPTIONS说明: -a :提交的镜像作者; -m :提交时的说明文字; 本次案例centosubuntu两个,当堂讲解一个,家庭作业一个,请大家务必动手,亲自实操。 docke…

Gradio部署应用到服务器不能正常访问

用Gradio部署一个基于ChatGLM-6B的应用,发布到团队的服务器上(局域网,公网不能访问),我将gradio应用发布到服务器的9001端口 import gradio as gr with gr.Blocks() as demo:......demo.queue().launch(server_port90…

ad+硬件每日学习十个知识点(34)23.8.14 (DCDC详细设计,续流二极管的选择,COMP引脚的环路设计)

文章目录 1.二极管的rrm电压和rms电压有什么不同2.DCDC续流二极管的选择3.充电电容4.COMP引脚的环路设计5.DCDC设计总结6.多路并联7.相位匹配8.工作模式9.低温输出偏离10.电源负载与效率11.降压升压模块 1.二极管的rrm电压和rms电压有什么不同 答: 二极管的 RRM &a…

redis主从复制、哨兵服务、持久化、数据类型

Top NSD DBA DAY10 案例1:配置主从复制案例2:配置带验证的主从复制案例3:哨兵服务案例4:使用RDB文件恢复数据案例5:AOF案例6:字符类型案例7:列表类型案例8:散列类型案例9&#xff…

Linux交叉编译opencv并移植ARM端

Linux交叉编译opencv并移植ARM端 - 知乎 一、安装交叉编译器 目标平台为arm7l,此为32位ARM架构,要安装合适的编译器 sudo apt install arm-linux-gnueabihf-gcc sudo apt install arm-linux-gnueabihf-g注意:64位ARM架构的编译器与32位ARM架…

【MyBatis】查询数据库

目录 一、什么是MyBatis 二、MyBatis框架的搭建 1、搭建MyBatis框架 2、设置MyBaits项目的配置 三、使用MyBatis完成数据库的操作 1、MyBatis程序中sql语句的即时执行和预编译 1.1、即时执行(${}) 1.2、预编译(#{}) 1.3、即…

tomcat设置PermSize

最近tomcat老是报错,查看了日志出现PermGen 内存不够用,重启tomcat后查询使用情况 通过启动参数发现没有设置 PermGen,继续通过jmap查看 jmap -heap 21179 发现99%已使用,而且默认是30.5M,太小了,这里设置成256M 1. 创建setenv.sh文件 在/usr/local/tomcat/bin目录下创建一个…

解锁编程的新契机:深入探讨Kotlin Symbol Processor (KSP)的编写

解锁编程的新契机:深入探讨Kotlin Symbol Processor (KSP)的编写 1. 引言 随着软件开发领域的不断发展,新的工具和技术不断涌现,以满足开发者在构建高效、可维护和创新性的代码方面的需求。Kotlin Symbol Processor(KSP&#xf…

从零开始,快速打造租车服务小程序的分享

随着移动互联网的发展,小程序成为了企业推广和服务的重要手段之一。租车服务行业也不例外,通过打造一款租车服务小程序,企业可以更好地与用户进行互动和交流,提供更方便快捷的租车服务。本文将介绍如何利用第三方制作平台/工具快速…

PHP实现在线年龄计算器

1. 输入日期查询年龄 2. php laravel框架实现 代码 /*** 在线年龄计算器*/public function ageDateCal(){// 输入的生日时间$birthday $this->request(birthday);// 当前时间$currentDate date(Y-m-d);// 计算周岁$age date_diff(date_create($birthday), date_create($…

Eleastisearch5.2.2利用镜像迁移构建实例后ES非健康状态

正常迁移完成后启动服务,查看ES非健康状态 此时观察ES集群状态:curl -XGET -u elastic:xxx localhost:9200/_cluster/health?pretty 注意到"active_shards_percent_as_number" : 88.8888 该项的值不产生变化;集群状态"status" : “…

SQL注入之Oracle注入

SQL注入之Oracle注入 7.1 SQL注入之Oracle环境搭建 前言 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统…

(el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

Ⅰ、Element-plus 提供的 Form 表单组件与想要目标情况的对比: 1、Element-plus 提供 Form 表单组件情况: 其一、Element-plus 自提供的 Form 代码情况为(示例的代码): // Element-plus 自提供的代码: // 此时是使用了 ts 语言环…

6.3 社会工程学攻击

数据参考:CISP官方 目录 社会工程学攻击概念社会工程学攻击利用的人性 “弱点”典型社会工程学攻击方式社会工程学攻击防护 一、社会工程学攻击概念 什么是社会工程学攻击 也被称为 "社交工程学" 攻击利用人性弱点 (本能反应、贪婪、易于信任等) 进…

栈存储结构详解

目录 栈存储结构详解 进栈和出栈 栈的具体实现 栈的应用 什么是队列(队列存储结构) 栈存储结构详解 同顺序表和链表一样,栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如图 1 所示。 图 1 栈存储结构示意…

HTML5的介绍和基本框架

目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.ht…

设备加密狗

场景描述 随着科技的飞速发展,越来越多的智能设备走进生产加工车间。例如智能雕刻机、钣金机、 榫槽机、钻孔机、磨刀机等等。 目前市场的智能设备具有一个共同的特点,内置嵌入操作系统,如windows或者linux系统。设备制造商提供智能设备出…