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

news2025/1/20 2:01:29

简单介绍一下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.coloradmin.cn/o/884190.html

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

相关文章

【C++11保姆级教程】auto和decltype

文章目录 前言总结一、auto1.初识auto关键字 2.auto使用二、decltype1.初识decltype2.使用decltype 总结 前言 在C11中引入了一些新的关键字和特性,其中包括auto和decltype。这两个关键字提供了更方便、更灵活的类型推断机制,使得代码编写更加简洁和可读…

TCS3200颜色识别模块

TCS3200颜色识别模块 TCS3200简介 供电电源(2.7V to 5.5V)可配置颜色滤波器和输出信号频率高分辨率光强转换到频率(工作原理) TCS3200工作原理 TCS3200是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMO…

Python找出列表中出现次数最多的元素三种方式

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key&#xf…

如何保证事件的闭环处理

所谓的闭环,就是指告警发出、认领、协作处理、问题恢复、复盘改进的整个过程。 排班,专人做专事 ​这个手段听起来并不高大上,但确实非常有效。值班期间虽然提心吊胆的,生怕背锅,但因为是轮班制,心里总有…

C语言笔试训练【第12天】

文章目录 1、请阅读以下程序,其运行结果是( )2、假设编译器规定 int 和 short 类型长度分别为32位和16位,若有下列C语言语句,则 y 的机器数为( )3、下列程序的输出结果是什么( &…

LC-链表的中间节点(遍历)

LC-链表的中间节点(遍历) 链接:https://leetcode.cn/problems/middle-of-the-linked-list/description/ 描述:给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个…

OpenCV-Python中的图像处理-图像直方图

OpenCV-Python中的图像处理-图像直方图 图像直方图统计直方图绘制直方图Matplotlib绘制灰度直方图Matplotlib绘制RGB直方图 使用掩膜统计直方图直方图均衡化Numpy图像直方图均衡化OpenCV中的直方图均衡化CLAHE 有限对比适应性直方图均衡化 2D直方图OpenCV中的2D直方图Numpy中2D…

基于Python科研论文绘制学习 - task1

绘制原则 必要性(避免图多字少) 易读性(完整准确的标题、标签) 一致性(配图需要和上下文一致) 尝试运行代码的时候出现了很多bug,基本都是围绕Scienceplots库的,在更新pip、pandas…

Gin安装解决国内go 与 热加载

get 方式安装超时问题,国内直接用官网推荐的下面这个命令大概率是安装不成功的 go get -u github.com/gin-gonic/gin 可以在你的项目目录下执行下面几个命令: 比如我的项目在E:\Oproject\zl cmd E:\Oproject\zl>就在目录下执行 go env -w GO111…

HCIP学习--MPLS

MPLS-多协议标签交换 标签交换 基于2.5层的标签号进行路由行为,开始传输数据包的时候需要查询两张表,一个路由表一个ARP表然后人们就想可不可以少查点表,然后MPLS就出现了,MPLS就是是在数据包的2.5层压入一个标签号,路由器基于2…

人大进仓数据库ksql命令基础

测试环境信息: 系统为银河麒麟V10 数据库为Kingbase ES V8 数据库安装目录为/opt/Kingbase/ES/V8 ksql命令位于/opt/Kingbase/ES/V8/Server/bin下 使用--help获取帮助 续上图 1.查看数据库列表 ./ksql -U system -l 2.查看数据库版本 ./ksql -V 3.连接指定的数据库tes…

计算机技术综合布线实训室建设方案

一、计算机技术综合布线系统概述 综合布线是指在建筑物或办公室内部,将各种通信设备(如计算机、电话、视频监控、音频设备等)通过统一的电缆系统连接起来的一种网络布线方式。它是构建局域网(LAN)和数据中心基础设施的…

Revit SDK 介绍:PanelSchedule 配电盘明细表

前言 这个例子介绍 Revit 的配电盘明细表,PanelSchedule。Revit 的电器专业在国内用的并不是十分广泛,但从功能上来说还是比较完整的。 内容 这个例子里有三个命令: PanelScheduleExport - 导出配电盘明细表InstanceViewCreation - 创建配…

HTML5的介绍和基本框架

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

JVM编译优化

即时编译器 HotSpot虚拟机中内置了两个即时编译器,分别称为Client Compiler和Server Compiler,或者简称为C1编译器和C2编译器。Java8默认开启Server模式。用户可以使用“-client”或“-server”参数去指定编译模式。 C1编译器启动速度快,关注局部简单可靠的优化,比如方法…

【八大排序】-- 计数排序(动图演示)

计数排序介绍 计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(nk)(其中k是整数的范围),快于任何比较排序算法。 当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(n…

Java反序列化漏洞笔记

前言 作为Java安全方面的盲对Java反序列化各种链方面了解的并不多,但是这些链条又极为重要,有助于更好的理解各种漏洞的产出和原理,因此以下笔记开始从底慢慢学起。 为什么会产生安全问题? 服务器反序列化数据时,客…

OpenCV-Python中的图像处理-模板匹配

OpenCV-Python中的图像处理-模板匹配 模板匹配单对象的模板匹配多对象的模板匹配 模板匹配 使用模板匹配可以在一幅图像中查找目标函数: cv2.matchTemplate(), cv2.minMaxLoc()模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。 OpenCV 为我们提…

行业追踪,2023-08-15

自动复盘 2023-08-15 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

3. 爬取自己CSDN博客列表(自动方式)(分页查询)(网站反爬虫策略,需要在代码中添加合适的请求头User-Agent,否则response返回空)

文章目录 步骤打开谷歌浏览器输入网址按F12进入调试界面点击网络,清除历史消息按F5刷新页面找到接口(community/home-api/v1/get-business-list)接口解读 撰写代码获取博客列表先明确返回信息格式json字段解读 Apipost测试接口编写python代码…