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

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星际工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值