毛田野,郑健,李华,吴开明,张骁骏
(91388 部队,广东 湛江 524022)
重要事件过程中产生的数据是支撑复盘分析工作的关键依据。在以往开展复盘分析工作时,一般是由复盘分析工作人员到存储数据的计算机上根据需求挑选数据,然后将挑选的数据通过移动硬盘拷贝或文件共享传输至自己的计算机上,这一过程复杂繁琐又效率低下,而且频繁交叉使用移动硬盘或者U 盘等存储设备传递数据,容易带来病毒且要承担存储介质损坏的风险;而利用文件夹共享或即时通信软件传输则要受限于文件的大小,对一些大容量的数据文件(如视频等)传输过程要耗费过长的时间,同时也增加了安全方面的不确定因素。FTP(File Transfer Protocol)即文件传输协议,用于在互联网或局域网上控制文件的双向传输,利用FTP 提供文件存储和访问服务的计算机则被称为FTP 服务器,实践证明通过FTP 服务器完成文件传输比其他方式更高效、可靠,且兼容各类计算机和操作平台,不受计算机所处的位置以及联接方式的影响[1]。受此启发,该文依托数据中心云平台搭建了基于Linux 操作系统的虚拟FTP 服务器,从复盘分析工作的实际需求出发,对服务器的用户权限和文件传输功能分别进行了测试。
如图1所示,FTP本质上是一个基于C-S(Client-Server)架构的软件,包括客户端和服务器端。客户端连接服务器端的21 端口建立控制连接,用于FTP命令以及FTP 命令的响应,服务器端接收到命令以后就要进行相应的解析,然后和客户端建立数据连接通道。如果客户端上传文件,就会读取本地文件系统中的文件,并传输给服务器端,服务器端将其写到对应的文件系统中;如果是下载,服务器端读取文件系统中的数据,写到数据连接中并发送给客户端,客户端便可以读取数据连接中的数据,并写入本地文件系统中[2-5]。
图1 FTP工作原理示意图
虚拟机是指通过云平台软件模拟的完整计算机系统,具有可以快速实现分布式部署、一键配置FTP和IIS 服务等诸多优势。该文以数据中心现有的存储服务器、云平台和专用局域网等软、硬件条件为基础,对虚拟FTP 服务器的搭建方法进行了探究,其过程包括创建虚拟机实例、安装Linux 系统、配置FTP服务、测试服务器等步骤[6-9]。
利用云平台创建虚拟机实例的过程如图2 所示。选择镜像:选择预先挂载的Centos 7.0 镜像为安装Linux 系统做准备;设定密钥:为虚拟机创建系统密码;网络与安全:使用默认网络和子网并选择安全组,对安全组进行网络授权;资源配置:为虚拟机分配CPU、内存和存储;创建实例:创建完成以后实例会在列表中出现,当实例由准备状态变为运行状态,则说明实例创建完毕,可访问使用。
图2 基于云平台创建虚拟机实例过程示意图
通过云平台给创建的“FTP 服务器”挂载CentOS 7.0 系统ISO 镜像,另外需要选择配置GNOME 桌面,以便于后续对服务器进行调试。
系统安装完毕以后,登录远程操纵Linux 系统的SSH 客户端软件Xshell,在新建会话界面依次输入主机(服务器IP 地址)、端口(22 端口)、root 账户和密码,连接服务器成功后对FTP 服务进行配置,其过程如下。
2.3.1 创建工作目录
在/home 目录下创建“ftp”文件夹,然后在“ftp”文件夹中创建“test1”和“test2”两个文件夹。
2.3.2 创建用户并指定其工作目录
在根目录下创建用户user1 并指定其工作目录为/home/ftp/test1,然后为用户user1 创建密码;创建用户user2 并指定其工作目录为/home/ftp/test2,然后为用户user2 创建密码。
2.3.3 查看新创建的用户信息
根目录下执行tail/etc/passwd 命令查看新创建的用户信息[10-11],结果如图3 所示,主要信息:user1(用户标识为1000)工作目录为/home/ftp/test1;user2(用户标识为1001)工作目录为/home/ftp/test2,表明已经达到了创建用户并指定其工作目录的目的。
图3 查看创建的用户信息结果
2.3.4 查看新创建的目录信息
在命令端将工作目录切换至ftp,查看新创建的目录信息,结果如图4 所示,主要信息:test1 和test2文件夹属于root 用户和root 用户组;root 用户对test1和test2 文件夹的权限为读取、写入、执行;root 用户组内用户对test1 和test2 文件夹的权限为读取和执行;其他用户对test1 和test2 文件夹的权限也为读取和执行[12]。
图4 查看目录信息结果
2.3.5 配置用户及目录权限
在实际的复盘分析工作中,需要一部分使用者只能看到指定的数据文件,且只能读取其中的文件,不可进行更改和删除;对于二次处理的数据,则需要使用者将处理完毕的数据上传至指定文件夹与其他人进行共享,因此需要对其工作目录具有读取和写入的权限。
按照上述要求利用chown 和chmod 命令对用户和目录的权限进行配置[13-14],然后查看ftp 目录信息进行验证,配置过程和验证结果如图5 所示。验证结果所表达的主要信息:test1 文件夹属于user1 用户和root 用户组,user1 用户对test1 的权限为读取和执行;root 用户组内用户对test1 的权限为读取和执行;其他用户对test1 的权限也为读取和执行。test2 文件夹属于user2 用户和root 用户组,user2 用户对test2 的权限为读取、写入、执行;root 用户组内用户对test2的权限为读取和执行;其他用户对test2 的权限也为读取和执行。
图5 配置用户及目录权限
实验室测试环境:服务器端为虚拟FTP 服务器,搭载Centos7.0 操作系统;客户端为联想一体机,搭载Windows7 操作系统,使用Xftp 作为FTP 客户端软件;客户端与服务器通过局域网相连。
在Xftp 客户端新建会话界面,依次输入服务器IP 地址、user1 账户和密码,如图6(a) 所示,用户进入其工作目录/home/ftp/test1。当点击返回上级目录时,页面提示“无法显示远程文件夹”,操作失败;如图6(b)所示,当对test1 内的“456”文件夹进行重命名时,页面提示“无法重命名‘456’的名称”,操作失败。新建会话界面依次输入服务器IP、user2 账户和密码,如图6(c)所示,用户进入其工作目录/home/ftp/test2。当点击返回上级目录时,页面提示“无法显示远程文件夹”,操作失败;如图6(d)所示,当在test2 内新建“101”文件夹时,显示操作成功。
图6 对FTP服务器进行用户权限测试时的Xftp客户端界面
通过对服务器进行用户权限测试,可以得出:用户user1 只能访问test1 文件夹,且只能读取文件夹中的内容,无法进行更改操作;用户user2 只能访问test2 文件夹,且能够对文件夹中的内容进行读取、更改等操作,成功达到了对用户配置的要求[15]。
在Xftp 客户端新建会话界面依次输入主机(服务器IP 地址)、root 账户和密码,如图7 所示,将左栏本地计算机中的“FTP 测试”文件(477 MB 大小,Mp4格式)上传至右栏FTP 服务器的“123”文件夹中,远程路径为/home/ftp/test1/123,客户端界面显示上传速率达71.31 MB/s,预估5 s 内完成操作;如图8 所示,用user1 账户登录FTP 服务器,对“123”文件夹中的“FTP 测试”文件进行下载操作,客户端界面显示下载速率达44.64 MB/s,预估9 s 内完成操作。
图7 对FTP服务器进行文件上传测试时的Xftp客户端界面
图8 对FTP服务器进行文件下载测试时的Xftp客户端界面
通过对服务器进行文件传输测试,可以得出:对于复盘分析工作比较常用的视频数据等大容量文件,该文搭建的FTP 服务器可以实现在较短时间内的上传和下载,能够满足对数据的随取随用[16]。
为了解决重要事件的复盘分析人员取用数据过程复杂繁琐、存在安全风险的问题,依托本单位软硬件资源,搭建了基于云平台和Linux 操作系统的虚拟FTP 服务器。对搭建的FTP 服务器进行用户权限测试和文件传输功能测试,结果表明,该虚拟FTP 服务器在用户差异化赋权以及大文件快速上传下载方面具备良好的性能,能够满足复盘分析工作的实际需求,该文探究总结的虚拟FTP 服务器搭建方法具有一定的应用价值。