更新时间:2025-07-24 GMT+08:00
分享

快速构建FTP站点(Ubuntu)

应用场景

本文介绍了在华为云上如何使用弹性云服务器的Linux实例使用vsftpd软件搭建FTP站点。vsftpd全称是“very secure FTP daemon”,是一款在Linux发行版中使用较多的FTP服务器软件。该指导具体操作以Ubuntu 22.04 64位操作系统为例。

方案架构

图1 快速搭建FTP站点示意图(Ubuntu)

方案优势

  • 快速构建站点,组网架构简单。
  • 网站安全易用。

资源和成本规划

表1 资源和成本规划

资源

资源说明

成本说明

虚拟私有云VPC

VPC网段:192.168.0.0/16

免费

虚拟私有云子网

  • 可用区:可用区1
  • 子网网段:192.168.0.0/24

免费

安全组

入方向规则(主动模式):
  • 优先级:1
  • 策略:允许
  • 类型:IPv4
  • 协议端口:TCP: 20-21
  • 源地址:0.0.0.0/0
入方向规则(被动模式):
  • 优先级:1
  • 策略:允许
  • 类型:IPv4
  • 协议端口:TCP: 21以及vsftpdconf配置文件中的端口
  • 源地址:0.0.0.0/0

免费

弹性云服务器

  • 计费模式:包年/包月
  • 可用区:可用区1
  • 规格:s6.large.4
  • 镜像:Ubuntu 22.04 64bit
  • 系统盘:40G
  • 弹性公网IP:现在购买
  • 线路:全动态BGP
  • 公网带宽:按流量计费
  • 带宽大小:5 Mbit/s

ECS涉及以下几项费用:

  • 云服务器
  • 云硬盘
  • 弹性公网IP

具体的计费方式及标准请参考计费模式概述

vsftpd

是一款免费、开源的ftp软件

免费

搭建FTP站点操作流程

Linux实例手动搭建FTP站点的具体操作步骤如下:
  1. 安装vsftpd。
  2. 配置vsftpd。
  3. 配置用户目录。
  4. 设置安全组。
  5. 客户端测试。

实施步骤(手动)

  1. 登录弹性云服务器。
  2. 安装vsftp。

    1. 执行以下命令安装vsftpd。
      sudo apt-get update
      sudo apt-get install vsftpd

      安装过程中若出现“Do you want to continue? [Y/n]”提示信息,输入“y”或“Y”即可继续安装。

    2. 运行以下命令,备份原始配置文件。
      sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

  3. 配置vsftp。

    1. 修改“vsftpd.conf”配置文件。
      1. 执行以下命令打开配置文件“vsftpd.conf”。
        sudo vim /etc/vsftpd.conf
      2. i键进入编辑模式。
      3. 修改打开的“vsftpd.conf”文件。

        可根据实际需求选择将FTP配置为主动模式或者被动模式。如果华为云上的服务器需要通过公网IP地址访问华为云上的实例搭建的FTP服务器时,需要将FTP服务器配置为被动模式。

        • 主动模式需要配置的参数如下:
          #设置以下参数,不允许匿名登录FTP服务器,允许本地用户登录FTP服务器,并指定FTP本地用户使用的文件目录。
          anonymous_enable=NO              #不允许匿名登录FTP服务器
          local_enable=YES                 #允许本地用户登录FTP服务器
          write_enable=YES                 #启用文件上传
          
          #设置以下参数,限制用户只能访问自身的主目录。
          chroot_local_user=YES                      #所有用户都被限制在其主目录
          chroot_list_enable=YES                     #启用例外用户名单
          chroot_list_file=/etc/vsftpd/chroot_list   #例外用户名单             
          
          #添加以下参数,配置FTP目录。
          local_root=/home/ftp 
          allow_writeable_chroot=YES
        • 被动模式除了需要配置主动模式所需的所有参数外,还需要配置的参数如下:
          #设置以下参数,配置FTP支持被动模式。并指定可供FTP服务器访问的端口范围,端口范围请根据实际环境进行设置。         
          pasv_min_port=35000            #被动模式下的最小端口
          pasv_max_port=40000            #被动模式下的最大端口
      4. Esc键退出编辑模式,并输入:wq保存后退出。
    2. 执行以下命令重启vsftpd服务使配置生效。
      sudo systemctl restart vsftpd

  4. 配置用户目录。

    1. FTP安装完成后会默认创建用户名为ftp的用户,默认无密码。执行以下命令修改ftp密码。
      sudo passwd ftp
    2. 执行以下命令,将用户添加到允许的FTP用户列表中。
      echo "ftp" | sudo tee -a /etc/vsftpd.userlist
    3. 执行以下命令,创建FTP文件目录和授予用户权限。
      sudo mkdir /home/ftp
      sudo chmod 777 /home/ftp

  5. 设置安全组。

    搭建好FTP站点后,需要在弹性云服务器安全组的入方向添加一条放行FTP端口的规则,具体步骤参见为安全组添加安全组规则

    表2 设置安全组规则

    优先级

    策略

    类型

    协议端口

    源地址

    1

    允许

    IPv4

    基本协议/自定义TCP:21端口

    0.0.0.0/0

    1

    允许

    IPv4

    基本协议/自定义TCP:1024-65535间的端口(例如35000-40000)

    0.0.0.0/0

  6. 客户端测试。

    打开客户端的计算机,在路径栏输入“ftp://FTP服务器IP地址:FTP端口”(如果不填端口则默认访问21端口) 。弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对FTP文件进行相应权限的操作。

    • 如果FTP服务器配置为主动模式,客户端使用此方法访问FTP站点时,需要对IE浏览器进行设置,才能打开FTP的文件夹。打开IE浏览器,选择“工具 > Internet 选项 > 高级”。勾选“启用FTP文件夹视图”,取消勾选“使用被动FTP”。
    • 使用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。

实施步骤(自动)

快速构建FTP站点

相关文档