写点什么

Linux 云计算之 VSFTP 服务器概述 - 安装 vsftp 服务器端、客户端

作者:学神来啦
  • 2022 年 3 月 31 日
  • 本文字数:2511 字

    阅读完需:约 8 分钟

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 文件,如图所示。



FTP 监听的端口有两个:


端口 20:用于传输数据端口 21:用于传输指令

工作流程(原理)分为两种模式:

主动和被动模式:FTP 会话包含了两个通道,控制通道和数据传输通道,FTP 的工作有两种模式,一种是主动模式,一种是被动模式,以 FTP Server 为参照,主动模式,服务器主动连接客户端传输,被动模式,等待客户的连接。


主动模式(PORT)的工作原理:FTP 客户端连接到 FTP 服务器的 21 号端口,发送用户名和密码,客户端随机开放一个端口(1024 以上),发送 PORT 命令到 FTP 服务器,告知服务器客户端采用主动模式并开放端口,FTP 服务器收到 PORT 主动模式命令和端口后,通过服务器的 20 号端口和客户端开放的端口连接,发送数据,原理如图 所示,(无论是主动还是被动模式,首先的控制通道都是先建立起来,只是在数据传输模式上的区别)



被动模式的工作原理:PASV 是 Passive 的缩写,中文成为被动模式,工作原理:FTP 客户端连接到 FTP 服务器所监听的 21 号端口,发送用户名和密码,发送 PASV 命令到 FTP 服务器,服务器在本地随机开放一个端口(1024 以上),然后把开放的端口告知客户端,而后客户端再连接到服务器开放的端口进行数据传输,原理如图所示。



主 21 20 被 21 1024 以上

安装 vsftp 服务器端、客户端

使用 rpm 安装本地光盘中的 vsftp 程序包:


[root@xuegod63 ~]# rpm -ivh /mnt/cd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm  
复制代码


或:使用 yum 直接安装(两种安装方法,选取其中一种即可):


[root@xuegod63 ~]# yum -y install vsftpd
复制代码
安装客户端:
[root@xuegod64 ~]# yum install -y lftp      #使用yum安装ftp客户端。lftp
复制代码


Linux 客户端:


lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp、ftps、http、https、hftp(其中 ftps 和 https 需要在编译的时候包含 openssl 库),lftp 的界面非常类似一个 Shell,有命令补全、历史记录、允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载、等功能。

配置文件位置:

vsftpd 相关文档:


/etc/vsftpd/vsftpd.conf         #vsftpd 的核心配置文件。/etc/vsftpd/ftpusers      #用于指定哪些用户不能访问FTP 服务器,即黑名单。/etc/vsftpd/user_list      #指定允许使用VSFTP的用户列表文件,即白名单。
复制代码


[root@xuegod63 ~]# vim /etc/vsftpd/user_list    #查看user_list文件
复制代码


如图所示。



说明:如果 userlist_deny= YES(默认),绝不允许在这个文件中的用户登录 ftp,甚至不提示输入密码。


/etc/vsftpd/vsftpd_conf_migrate.sh    #是vsftpd 操作的一些变量和设置脚本/var/ftp/                             #默认情况下匿名用户的根目录
复制代码
启动服务
[root@xuegod63 vsftpd]# systemctl start vsftpd     #启动FTP服务。[root@xuegod63 vsftpd]# systemctl enable vsftpd  #设置开启自动启动FTP服务。
复制代码


#注意关闭 iptables 和 SElinux


[root@xuegod63 ~]# netstat -antup | grep ftp    #查看FTP服务监听的端口。tcp    0     0 0.0.0.0:21          0.0.0.0:*          LISTEN       11725/vsftpd
复制代码


以上内容中说明 FTP 监听两个端口,但目前 FTP 已经启动了,但经过查看,只查看到 21 号端口,还有 20 号端口没有查看到?


是因为没有数据传输,20 号端口是用于传输数据的,所以 20 号端口是尚未开启,如有数据传输时,20 号端口则会开启。

FTP 服务的使用方法

Linux 系统:


以 xuegod63 主机示例(即服务端、客户端为一台主机)


[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lftp-4.4.8-8.el7_3.2.x86_64.rpm    #安装FTP客户端[root@xuegod63 ~]# lftp 192.168.1.63      #连接FTP服务器。ctrl+d  或  exit退出?  帮助
复制代码


Windows 系统:


通过浏览器访问或 打开文件夹,在地址栏输入地址:ftp://192.168.1.63/,如图所示


修改配置文件,实战举例匿名访问

公司技术部准备搭建一台功能简单的 FTP 服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。


分析:允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启。

允许匿名用户访问

anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。


[root@xuegod63 ~]# cd /etc/vsftpd/    #切换工作目录至FTP工作目录下。[root@xuegod63 vsftpd]# cp vsftpd.conf{,.bak}  #使用命令展开式,FTP配置文件备份,便于后期恢复还原。[root@xuegod63 vsftpd]# vim  vsftpd.conf    #编辑FTP配置文件,修改以下内容。anonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YES
复制代码


允许匿名用户上传文件并可以创建目录,如图 所示




重启 FTP 服务,使配置文件生效:


[root@xuegod63 vsftpd]# systemctl restart vsftpd
复制代码


测试:提示不能写,如图 所示。



[root@xuegod63 vsftpd]# chown ftp.ftp /var/ftp/pub/      #修改FTP共享目录属主、属组为ftp用户。
复制代码


再次测试,结果:可以新建文件夹,但是不能重命名,不能删除!


[root@xuegod63 vsftpd]# vim vsftpd.conf    #编辑FTP配置文件,修改以下内容。anon_other_write_enable=YES      #默认没有,需要手动添加下这行(匿名帐号可以有写的权限)。
复制代码


重启 FTP 服务,使配置文件生效:


[root@xuegod63 vsftpd]# systemctl restart vsftpd
复制代码


可以删除文件夹了,这个参数对匿名用户来说权限太大,不安全,使用这个参数需要考虑安全性。注意,默认匿名用户家目录的权限是 755,这个权限是不能改变的。切记!

用户头像

学神来啦

关注

还未添加个人签名 2021.06.02 加入

10年Linux使用及管理经验,7年IT在线教育培训经验。精通Linux、Python、思科、C++、安全渗透等技术。曾任职国内知名互联网公司高级运维架构师、运维总监。对基于Linux下开源程序Openstack、Docker、K8S、DevOps、

评论

发布
暂无评论
Linux云计算之VSFTP服务器概述-安装vsftp服务器端、客户端_Linux_学神来啦_InfoQ写作平台