Day1 基于ECS搭建FTP服务
背景知识
云服务器 | Elastic Compute Service
- 优点:性能卓越、稳定可靠、弹性扩展的IaaS级别云计算服务
FTP | File Transfer Protocol
-
FTP服务器
- 存储文件
- 被访问资源
-
FTP客户端
- 通过FTP协议访问位于FTP服务器上的资源
- 优点:效率高,方便传输大文件
-
port
- 20 传输数据(主动模式)
- 21 传输控制信息
vsftpd | very secure FTP daemon
- 环境: Linux、BSD、Solaris、 HP-UNIX等系统
- 开源免费
-
特征
- 非常高的安全性需求
- 带宽限制
- 良好的可伸缩性
- 可创建虚拟用户
- 支持IPv6
- 速率高
实践
Step1. 通过ssh连接ECS服务器
-
指令
ssh root@139.224.**.**
- 示例
Step2. 安装vsftpd
-
指令
# 安装 yum install -y vsftpd # 服务自启动 systemctl enable vsftpd.service systemctl start vsftpd.service # 检验安装结果 netstat -antup | grep ftp
- 示例
Step3. 配置vsftpd
-
命令
# 修改配置文件 vim /etc/vsftpd/vsftpd.conf # 此处删除 anon_upload_enable=YES 前的注释符号'#' # vim的保存与退出: 按Esc键后输入:wq # 给 ftp服务器的资源放置文件夹 写权限 chmod o+w /var/ftp/pub/ # 重启vsfftp服务使修改生效 systemctl restart vsftpd.service # 给ftp服务器添加登录用户 # 实质是给服务器系统增加用户 adduser ftptest passwd ftptest mkdir /var/ftp/test # 只授权其访问test文件夹 chown -R ftptest:ftptest /var/ftp/test # 修改vsftpd配置文件,此处为主动模式 # 禁止匿名登录 sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf # 开启监听 sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf # 开启ipv6 sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf # 仅允许凤文主目录 sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf # 启用例外用户名单 sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf # 指定名单地址 sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf # 允许写根目录 echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf # 指定访问目录 echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf # 创建例外用户名单文件 touch /etc/vsftpd/chroot_list # 重启vsftpd服务使修改生效 systemctl restart vsftpd.service
Step4. 测试
bravo!