一、实验基本理论
1.云服务器ECS:
云服务器是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS级别云计算服务。云服务器ECS免去了采购IT硬件的前期准备,让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。
2.FTP:
FTP是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
3.vsftpd:
vsftpd是一款在Linux发行版中最受推崇的FTP服务器。它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
二、实验步骤
1.创建资源
2.远程连接ECS服务器
(1)Windows打开cmd检查系统中是否安装有ssh工具:ssh -V
(2) 在终端中输入连接命令 ssh [username]@[ipaddress]。将其中的 username 和 ipaddress 替换为云产品资源提供的ECS服务器的 用户和弹性IP。
3.安装vsftpd
(1)运行以下命令安装vsftpd:yum install -y vsftpd
(2)运行以下命令设置FTP服务开机自启动:systemctl enable vsftpd.service
(3)启动FTP服务:systemctl start vsftpd.service
(4)运行以下命令查看FTP服务监听的端口:netstat -antup | grep ftp
4.配置vsftpd
(1)修改配置文件vsftpd.conf:vim /etc/vsftpd/vsftpd.conf
(2) 按ESC键退出编辑模式,输入:wq 保存并退出vim。
(3)更改/var/ftp/pub目录的权限,为FTP用户添加写权限:chmod o+w /var/ftp/pub/
(4)重启FTP服务:systemctl restart vsftpd.service
(5)为FTP服务创建一个Linux用户:adduser ftptest
(6)为用户设置密码:passwd ftptest
(7) 创建一个供FTP服务使用的文件目录:mkdir /var/ftp/test
(8) 更改/var/ftp/test目录的拥有者为ftptest。
chown -R ftptest:ftptest /var/ftp/test
(9) 修改vsftpd.conf配置文件。
(10)在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单。
(11)重启FTP服务。
5.客户端测试
(1) 打开Chrom浏览器,在地址栏中输入ftp://:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。
(2)在弹出的对话框中,输入用户名和密码。
(3) 登录成功界面如下,此时可对FTP文件进行相应权限的操作。