由于最近云栖大会的召开,在薅羊毛参加各类活动的时候,发现阿里云开启了七天训练营的报名,进阶班结业还可以发ACA(阿里云云计算助理工程师)的免费考试资格,最后冲着这个证书考试资格就把名给报了。
七天训练营第一天的任务是基于 ECS 搭建 FTP 服务,教程文档详细,任务总体难度不大。下面是此次任务的学习笔记。
操作环境:macOS Mojave 10.14.3、Terminal 2.9.1
背景知识
在开始第一天任务之前,先记录一下 ECS 、FTP 、VSFTPD这三个概念。(如果不了解它们分别代表什么,那么此次任务的意义就没法体现。)
ECS :云服务器 ECS ,全称 Elastic Compute Service ,是阿里云提供的一种弹性计算服务。简单来说,ECS 就是一个服务器,只不过在“云”上,用户省去了以前实体服务器采购、运维等步骤,而且还没有设备折旧之类的顾虑。相对于实体服务器的限制,ECS 支持即开即用,以及还可以对服务器配置弹性伸缩。
FTP:文件传输协议 FTP,全称 File Transfer Protocol ,是 TCP/IP 协议组中的协议之一。FTP 协议由两个部分组成,一是 FTP 服务器,可以用来存储文件;二是 FTP 客户端,可以用来访问 FTP 服务器上的资源。该协议默认使用 TCP 端口中的20和21这两个端口。
VSFTPD:全称 very secure FTP daemon ,是一款在 Linux 发行版中最受推崇的FTP服务器。在今天的任务中,将使用这款服务器软件开启 FTP 服务。
第一步:远程连接 ECS 服务器
首先,根据提示在页面左侧开通云产品资源,免费开通一个 ECS 服务器,用于后续实验。
然后,打开 Terminal ,输入连接命令ssh [username]@[ipaddress]
,其中[username]对应 ECS 服务器的用户,一般为默认的root,[ipaddress]对应 ECS 服务器的弹性ip,该信息可从右侧的 ECS 服务器信息栏获取。例如:ssh root@123.123.123.123
(注意,ssh与root之间存在一个空格。)
输入连接命令后,提示 Are you sure you want to continue connecting (yes/no)?
,直接输入yes
继续连接,之后会要求输入 ECS 服务器的密码,密码依旧可从右侧的信息栏获取。(注意,输入密码时不可见,不要误以为自己没输。)
输入正确密码后,提示Welcome to Alibaba Cloud Elastic Compute Service !
即为连接成功。
第二步:安装vsftpd
1.输入命令yum install -y vsftpd
,用于安装vsftpd。成功安装后返回的界面:
2.输入命令systemctl enable vsftpd.service
,用于设置 FTP 服务开机自启动。
3.输入命令systemctl start vsftpd.service
,用于启动 FTP 服务。
4.输入命令netstat -antup | grep ftp
,用于查看FTP服务监听的端口。成功查看端口的界面:
(图中信息表示FTP服务已启动,监听的端口号为21)
第三步:配置vsftpd
此处选择配置匿名用户模式进行访问 vsftpd 。
1.输入命令vim /etc/vsftpd/vsftpd.conf
,打开配置文件 vsftpd.conf 。
2.按i键进入编辑模式,将匿名上传权限anon_upload_enable=YES 的注释解开,即将该行代码前面的#删除即可,该行代码预计在第29行。
3.按 ESC 键退出编辑模式,输入:wq
保存并退出。
4.输入命令chmod o+w /var/ftp/pub/
,更改/var/ftp/pub目录的权限,用于为 FTP 用户添加读写权限。(可通过阿里云开发者社区搜索“vim常用命令”,对vim、chmod等常用命令进行知识拓展。)
5.输入命令systemctl restart vsftpd.service
,重启 FTP 服务。
第四步:客户端测试
匿名模式可直接通过浏览器访问 FTP 服务器,无需进行测试操作。不过,好奇心害死猫,自己搭建的 FTP 服务怎么说也要看一下长啥样。
打开chrome浏览器,在地址栏输入ftp://<FTP服务器公网IP地址>:FTP端口
,其中FTP服务器公网IP地址为ECS服务器的弹性IP地址。
此时,可在该页面对FTP文件进行相应权限操作。
小结
整个流程较简单,ssh命令连接服务器后,用yum命令安装vsftpd,用vim命令进入配置文件解开注释获得相关权限,最后用chomd命令修改相关文件权限即可。