更新时间:2022-11-30 gmt 08:00

快速构建ftp站点(linux)-凯发k8国际娱乐官网入口

应用场景

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

方案架构

图1 快速搭建ftp站点示意图(linux)

方案优势

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

资源和成本规划

表1 资源和成本规划

资源

资源说明

成本说明

虚拟私有云vpc

vpc网段:192.168.0.0/16

免费

虚拟私有云子网

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

免费

安全组

入方向规则(主动模式):
  • 协议/应用:tcp
  • 端口:20、21
  • 源地址:0.0.0.0/0
入方向规则(被动模式):
  • 协议/应用:tcp
  • 端口:21以及vsftpdconf配置文件中的端口
  • 源地址:0.0.0.0/0

免费

弹性云服务器

  • 计费模式:包年/包月
  • 可用区:可用区1
  • 规格:s6.large.2
  • 镜像:centos 7.2 64bit
  • 系统盘:40g
  • 弹性公网ip:现在购买
  • 线路:全动态bgp
  • 公网带宽:按流量计费
  • 带宽大小:5 mbit/s

ecs涉及以下几项费用:

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

具体的计费方式及标准请参考计费说明

vsftpd

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

免费

搭建ftp站点操作流程

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

实施步骤(手动)

  1. 安装vsftpd。
    1. 登录弹性云服务器。
    2. 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见。
    3. 执行以下命令安装vsftpd。

      yum install -y vsftpd

      回显如下类似信息时,表示软件安装成功。

    4. 执行以下命令设置ftp服务开机自启动。

      systemctl enable vsftpd.service

    5. 执行以下命令启动ftp服务。

      systemctl start vsftpd.service

    6. 执行以下命令查看ftp服务端口。

      netstat -antup | grep ftp

      回显如下类似信息。

  2. 配置vsftpd。

    vsftpd安装后默认开启了匿名ftp的功能,使用匿名ftp,用户无需输入用户名密码即可登录ftp服务器,但没有权限修改或上传文件。用户如果试图使用linux操作系统中的账号登录服务器,将会被vsftpd拒绝,但可以在vsftpd里配置用户账号和密码登录。以下操作以在vsftpd 里配置用户账号和密码登录ftp服务器为例。

    1. 执行以下命令创建“ftpadmin”用户。

      此处“ftpadmin”用户为示例,可根据实际情况创建相应的用户。

      useradd ftpadmin

    2. 执行以下命令并按照提示设置“ftpadmin”用户密码。

      passwd ftpadmin

    3. 执行以下命令创建供ftp使用的文件目录,此处以“/var/ftp/work01”为例。

      mkdir /var/ftp/work01

    4. 执行以下命令将创建的文件目录所有者改为用于登录ftp的本地用户。

      chown -r ftpadmin:ftpadmin /var/ftp/work01

    5. 修改“vsftpd.conf”配置文件。
      1. 执行以下命令打开配置文件“vsftpd.conf”。

        vi /etc/vsftpd/vsftpd.conf

      2. i键进入编辑模式。
      3. 修改打开的“vsftpd.conf”文件。

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

        • 主动模式需要配置的参数如下:
          #设置以下参数,不允许匿名登录ftp服务器,允许本地用户登录ftp服务器,并指定ftp本地用户使用的文件目录。
          anonymous_enable=no              #不允许匿名登录ftp服务器
          local_enable=yes                 #允许本地用户登录ftp服务器
          local_root=/var/ftp/work01       #ftp本地用户使用的文件目录
          #设置以下参数,限制用户只能访问自身的主目录。
          chroot_local_user=yes                      #所有用户都被限制在其主目录
          chroot_list_enable=yes                     #启用例外用户名单
          chroot_list_file=/etc/vsftpd/chroot_list   #例外用户名单
          allow_writeable_chroot=yes                 
          
        • 被动模式除了需要配置主动模式所需的所有参数外,还需要配置的参数如下:
          #设置以下参数,配置ftp支持被动模式。并指定ftp服务器的公网ip地址,以及可供访问的端口范围,端口范围请根据实际环境进行设置。
          listen=yes                    
          listen_ipv6=no                
          pasv_address=xx.xx.xx.xx      #ftp服务器的公网ip地址
                     
          pasv_min_port=3000            #被动模式下的最小端口
          pasv_max_port=3100            #被动模式下的最大端口
      4. esc键退出编辑模式,并输入:wq保存后退出。
      5. 在“/etc/vsftpd/”目录下创建“chroot_list”文件。

        touch chroot_list

        “chroot_list”文件是限制在主目录下的例外用户名单。如果需要设置某个用户不受只可以访问其主目录的限制,可将对应的用户名写入该文件。如果没有例外也必须要有“chroot_list”文件,内容可为空。

    6. 执行以下命令重启vsftpd服务使配置生效。

      systemctl restart vsftpd.service

  3. 设置安全组。

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

    表2 设置安全组规则

    ftp模式

    方向

    协议

    端口

    源地址

    主动模式

    入方向

    tcp

    20端口和21端口

    0.0.0.0/0

    被动模式

    入方向

    tcp

    21端口和配置文件“/etc/vsftpd/vsftpd.conf”中参数“pasv_min_port”和“pasv_max_port”之间的所有端口。

    0.0.0.0/0

  4. 客户端测试。

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

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

实施步骤(自动)

分享:
网站地图