阿里云ECS如何设置FTP?

在阿里云ECS(Elastic Compute Service)实例中设置FTP服务,需要完成实例安全组配置、FTP服务器安装与配置、用户权限管理以及防火墙设置等步骤,以下是详细的操作指南,帮助您顺利完成FTP服务的搭建。

阿里云 ecs里如何设置ftp
(图片来源网络,侵删)

准备工作

在开始设置FTP之前,确保您已完成以下准备工作:

  1. 创建并启动ECS实例:登录阿里云控制台,创建一台Linux或Windows系统的ECS实例,并确保实例已启动,本文以CentOS 7系统为例进行说明。
  2. 连接ECS实例:通过SSH工具(如PuTTY、Xshell)连接到ECS实例,或使用Windows系统的远程桌面连接(如果是Windows实例)。
  3. 安全组配置:在ECS控制台的“网络与安全”>“安全组”中,添加安全组规则,放行FTP服务的默认端口(21端口)以及被动模式可能使用的端口范围(如20000-21000),具体配置如下:
    • 方向:入方向
    • 授权对象:0.0.0.0/0(表示允许所有IP访问,生产环境建议限制为特定IP)
    • 端口范围:21/21(FTP控制端口)
    • 端口范围:20000-21000/20000-21000(FTP被动模式数据端口)

安装FTP服务器软件

以CentOS 7为例,安装vsftpd(Very Secure FTP Daemon):

  1. 更新系统软件包:
    sudo yum update -y
  2. 安装vsftpd:
    sudo yum install vsftpd -y
  3. 启动并设置开机自启:
    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd

配置FTP服务器

  1. 备份原始配置文件
    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  2. 编辑配置文件
    sudo vim /etc/vsftpd/vsftpd.conf

    修改以下关键参数:

    • anonymous_enable=NO:禁止匿名访问
    • local_enable=YES:允许本地用户访问
    • write_enable=YES:允许用户上传文件
    • chroot_local_user=YES:限制用户仅能访问其主目录
    • pasv_min_port=20000:设置被动模式最小端口
    • pasv_max_port=21000:设置被动模式最大端口
    • allow_writeable_chroot=YES:允许被限制在主目录的用户具有写权限(需配合以下配置)
      在文件末尾添加以下内容以支持被动模式:

      pasv_address=<ECS实例公网IP>  # 替换为您的ECS公网IP
      pasv_addr_resolve=YES
  3. 保存并退出wq)。

创建FTP用户并设置权限

  1. 创建FTP用户
    sudo useradd -m -d /home/ftpuser -s /sbin/nologin ftpuser
    • -m:自动创建用户主目录
    • -d:指定用户主目录
    • -s:禁止用户登录SSH(仅允许FTP)
  2. 设置用户密码
    sudo passwd ftpuser
  3. 设置目录权限
    sudo chmod 755 /home/ftpuser
    sudo chown ftpuser:ftpuser /home/ftpuser

配置防火墙与SELinux

  1. 开放FTP相关端口
    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20000-21000/tcp
    sudo firewall-cmd --reload
  2. 关闭SELinux或设置FTP相关策略(推荐关闭):
    sudo setenforce 0  # 临时关闭
    sudo vim /etc/selinux/config  # 永久关闭,将SELINUX=disabled

重启FTP服务并测试

  1. 重启vsftpd服务
    sudo systemctl restart vsftpd
  2. 测试连接
    • 使用FTP客户端(如FileZilla)连接,输入ECS公网IP、用户名(ftpuser)和密码。
    • 确保可以上传、下载文件,且用户被限制在主目录中。

常见问题排查

  1. 连接被拒绝:检查安全组规则是否放行21和被动端口,防火墙是否已关闭或开放端口。
  2. 无法上传文件:检查write_enable=YES是否配置,用户目录权限是否为755,所有者是否为ftpuser。
  3. 被动模式连接失败:确认pasv_address是否为ECS公网IP,安全组是否放行被动端口范围。

相关问答FAQs

问题1:如何限制FTP用户只能访问指定目录?
答:通过chroot_local_user=YES限制用户访问主目录,并确保用户主目录权限为755,所有者为FTP用户,若希望用户访问/data/ftp目录,可执行:

阿里云 ecs里如何设置ftp
(图片来源网络,侵删)
sudo useradd -m -d /data/ftp -s /sbin/nologin ftpuser
sudo chown ftpuser:ftpuser /data/ftp

问题2:如何设置FTP用户仅可下载不可上传?
答:在vsftpd.conf中配置write_enable=NO,或针对特定用户使用user_config_dir功能。

  1. 创建用户配置目录:
    sudo mkdir /etc/vsftpd/user_conf
  2. 为用户ftpuser创建配置文件/etc/vsftpd/user_conf/ftpuser,添加:
    write_enable=NO
  3. vsftpd.conf中添加:
    user_config_dir=/etc/vsftpd/user_conf
  4. 重启vsftpd服务即可生效。
阿里云 ecs里如何设置ftp
(图片来源网络,侵删)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/357460.html<

(0)
运维的头像运维
上一篇2025-09-21 19:24
下一篇 2025-09-21 19:28

相关推荐

  • Linux FTP命令核心用法有哪些?

    Linux FTP命令是文件传输协议(File Transfer Protocol)在Linux系统下的命令行工具,用于在客户端和服务器之间进行文件传输,FTP基于TCP协议,支持两种连接模式:主动模式(Active Mode)和被动模式(Passive Mode),其中被动模式因防火墙兼容性更好而被广泛使用……

    2025-11-19
    0
  • 本机FTP端口怎么打开?

    要打开本机FTP端口,首先需要明确FTP服务使用的默认端口是21(控制连接)和20(数据连接),但具体操作取决于操作系统(如Windows、Linux或macOS)以及是否使用第三方FTP服务器软件,以下是详细的步骤和注意事项,涵盖不同场景下的配置方法,确认FTP服务状态在配置端口前,需确保本机已安装并启动FT……

    2025-11-16
    0
  • 阿里云ECS如何用FTP连接?

    要通过FTP连接阿里云ECS(Elastic Compute Service),需要完成一系列配置步骤,包括ECS实例的安全组设置、FTP服务器的安装与配置、本地FTP客户端的使用等,以下是详细操作流程和注意事项:准备工作购买并配置ECS实例登录阿里云控制台,确保已创建一台ECS实例(推荐选择Linux系统,如……

    2025-11-11
    0
  • 电脑如何建立FTP?

    在电脑上建立FTP服务器可以通过多种方式实现,以下以Windows系统为例,详细说明通过IIS(Internet Information Services)和第三方工具FileZilla两种常用方法的具体步骤,同时涵盖配置要点及注意事项,通过Windows IIS建立FTP服务器IIS是Windows系统自带的……

    2025-11-02
    0
  • 阿里云 linux ftp搭建,阿里云Linux如何搭建FTP?

    在阿里云Linux服务器上搭建FTP服务,是许多企业和开发者在文件传输场景下的常见需求,FTP(File Transfer Protocol,文件传输协议)是一种在客户端和服务器之间进行文件传输的标准网络协议,广泛应用于网站代码部署、文件共享、数据备份等场景,本文将以CentOS 7系统为例,详细介绍在阿里云E……

    2025-08-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注