天天看点

[ECS7天实践训练营 进阶路线] Day1 基于ECS搭建FTP服务Day1 基于ECS搭建FTP服务

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服务器

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!

继续阅读