Linux 云计算之 VSFTP 服务器概述 - 安装 vsftp 服务器端、客户端
VSFTP 服务器概述
FTP 服务概述
FTP 服务器(File Transfer ProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照 FTP 协议提供服务。
FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。
常见 FTP 服务器:Windows:Serv-U 、FTP Server、filezilla_serverLinux:ProFTPD:(Professional FTP daemon)一个 Unix 平台上或是类 Unix 平台上(如 Linux, FreeBSD 等)的 FTP 服务器程序。
本节主讲:VSFTP
VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。特点:它是一个安全、高速、稳定的 FTP 服务器。
VSFTP 模式: C/S 模式
监听端口:20、21[root@xuegod64 ~]# vim /etc/services #查看 services 文件,如图所示。
![](https://static001.geekbang.org/infoq/60/606a0be160b05d803b2eb1a0cb945604.png)
FTP 监听的端口有两个:
端口 20:用于传输数据端口 21:用于传输指令
工作流程(原理)分为两种模式:
主动和被动模式:FTP 会话包含了两个通道,控制通道和数据传输通道,FTP 的工作有两种模式,一种是主动模式,一种是被动模式,以 FTP Server 为参照,主动模式,服务器主动连接客户端传输,被动模式,等待客户的连接。
主动模式(PORT)的工作原理:FTP 客户端连接到 FTP 服务器的 21 号端口,发送用户名和密码,客户端随机开放一个端口(1024 以上),发送 PORT 命令到 FTP 服务器,告知服务器客户端采用主动模式并开放端口,FTP 服务器收到 PORT 主动模式命令和端口后,通过服务器的 20 号端口和客户端开放的端口连接,发送数据,原理如图 所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别)
![](https://static001.geekbang.org/infoq/d0/d0abcdb411f2cec809a5075829039936.png)
被动模式的工作原理:PASV 是 Passive 的缩写,中文成为被动模式,工作原理:FTP 客户端连接到 FTP 服务器所监听的 21 号端口,发送用户名和密码,发送 PASV 命令到 FTP 服务器,服务器在本地随机开放一个端口(1024 以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图所示。
![](https://static001.geekbang.org/infoq/89/89bbec680c3ab509cc9fea8814a06873.png)
主 21 20 被 21 1024 以上
安装 vsftp 服务器端、客户端
使用 rpm 安装本地光盘中的 vsftp 程序包:
或:使用 yum 直接安装(两种安装方法,选取其中一种即可):
安装客户端:
Linux 客户端:
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp、ftps、http、https、hftp(其中 ftps 和 https 需要在编译的时候包含 openssl 库),lftp 的界面非常类似一个 Shell,有命令补全、历史记录、允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载、等功能。
配置文件位置:
vsftpd 相关文档:
如图所示。
![](https://static001.geekbang.org/infoq/04/0433e0b19e3fd51c3444852eec98d878.png)
说明:如果 userlist_deny= YES(默认),绝不允许在这个文件中的用户登录 ftp,甚至不提示输入密码。
启动服务
#注意关闭 iptables 和 SElinux
以上内容中说明 FTP 监听两个端口,但目前 FTP 已经启动了,但经过查看,只查看到 21 号端口,还有 20 号端口没有查看到?
是因为没有数据传输,20 号端口是用于传输数据的,所以 20 号端口是尚未开启,如有数据传输时,20 号端口则会开启。
FTP 服务的使用方法
Linux 系统:
以 xuegod63 主机示例(即服务端、客户端为一台主机)
Windows 系统:
通过浏览器访问或 打开文件夹,在地址栏输入地址:ftp://192.168.1.63/
,如图所示
![](https://static001.geekbang.org/infoq/37/370964c1510987db147d34d64b964eda.png)
修改配置文件,实战举例匿名访问
公司技术部准备搭建一台功能简单的 FTP 服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。
分析:允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启。
允许匿名用户访问
anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。
允许匿名用户上传文件并可以创建目录,如图 所示
![](https://static001.geekbang.org/infoq/92/92b32679eed8270e26f8a76144650c1e.png)
![](https://static001.geekbang.org/infoq/ab/abe23a7e3de6a2507ecebd685c825d13.png)
重启 FTP 服务,使配置文件生效:
测试:提示不能写,如图 所示。
![](https://static001.geekbang.org/infoq/40/40f576a56d101ba326ef9d5461ea5bf9.png)
再次测试,结果:可以新建文件夹,但是不能重命名,不能删除!
重启 FTP 服务,使配置文件生效:
可以删除文件夹了,这个参数对匿名用户来说权限太大,不安全,使用这个参数需要考虑安全性。注意,默认匿名用户家目录的权限是 755,这个权限是不能改变的。切记!
评论