菜鸟科技网

阿里云服务器如何创建ftp,阿里云服务器如何创建FTP?

阿里云服务器创建FTP服务需要完成系统环境准备、安装FTP服务软件、配置防火墙与安全组、设置用户权限以及测试连接等步骤,以下是详细操作流程:

阿里云服务器如何创建ftp,阿里云服务器如何创建FTP?-图1
(图片来源网络,侵删)

系统环境准备

  1. 购买并登录ECS实例
    登录阿里云控制台,在ECS管理页面创建Linux实例(推荐CentOS 7.x或Ubuntu 20.04系统),创建完成后通过SSH工具(如PuTTY、Xshell)使用root账号或sudo权限用户登录服务器。

  2. 更新系统软件包
    执行以下命令更新系统:

    • CentOS系统:yum update -y
    • Ubuntu系统:apt update && apt upgrade -y

安装FTP服务软件

根据需求选择FTP服务类型,常用有vsftpd(非常安全的FTP守护进程)和ProFTPD,此处以vsftpd为例:

  1. 安装vsftpd

    阿里云服务器如何创建ftp,阿里云服务器如何创建FTP?-图2
    (图片来源网络,侵删)
    # CentOS系统
    yum install vsftpd -y
    # Ubuntu系统
    apt install vsftpd -y
  2. 启动并设置开机自启

    systemctl start vsftpd
    systemctl enable vsftpd
  3. 检查服务状态
    执行systemctl status vsftpd确认服务处于active (running)状态。

配置vsftpd

  1. 备份默认配置文件

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  2. 编辑核心配置文件
    使用vim /etc/vsftpd/vsftpd.conf修改以下关键参数:

    anonymous_enable=NO          # 禁止匿名用户访问
    local_enable=YES            # 允许本地用户登录
    write_enable=YES            # 允许文件上传
    chroot_local_user=YES       # 限制用户仅可访问主目录
    allow_writeable_chroot=YES  # 允许被限制在主目录的用户写文件
    pasv_min_port=30000         # 被动模式最小端口
    pasv_max_port=31000         # 被动模式最大端口
    userlist_enable=YES         # 启用用户列表控制
    userlist_file=/etc/vsftpd/user_list  # 用户列表文件路径
  3. 创建FTP用户目录
    以创建用户ftpuser为例:

    useradd -d /home/ftpuser -s /sbin/nologin ftpuser  # 创建不可登录系统的用户
    echo "ftpuser密码" | passwd ftpuser --stdin          # 设置用户密码
  4. 将用户加入允许列表
    编辑/etc/vsftpd/user_list文件,添加ftpuser到最后一行。

配置防火墙与安全组

  1. 开放FTP相关端口

    • 防火墙配置(以CentOS 7为例):
      firewall-cmd --permanent --add-service=ftp
      firewall-cmd --permanent --add-port=30000-31000/tcp
      firewall-cmd --reload
    • Ubuntu系统使用ufw
      ufw allow 21/tcp
      ufw allow 30000:31000/tcp
  2. 阿里云安全组配置
    登录ECS控制台,进入实例的“安全组”配置页面,添加以下规则:
    | 方向 | 协议/端口 | 授权对象 | 描述 | |--------|--------------|--------------|------------| | 入方向 | TCP 21 | 0.0.0.0/0 | FTP控制端口| | 入方向 | TCP 30000-31000 | 0.0.0.0/0 | FTP数据端口|

优化安全设置

  1. 限制用户登录
    编辑/etc/vsftpd/ftpusers文件,将需要禁止的用户(如root)加入列表。

  2. 启用SSL加密(可选)
    生成SSL证书文件并修改配置:

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

    vsftpd.conf中添加:

    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES

测试FTP连接

  1. 使用命令行测试
    本地执行ftp <服务器公网IP>,输入用户名和密码后,通过put test.txt上传文件测试。

  2. 使用图形化工具测试
    推荐FileZilla,输入服务器公网IP、用户名、密码及端口(21),连接成功后即可传输文件。

常见问题处理

  • 权限问题:确保用户目录权限为755chmod 755 /home/ftpuser),文件权限为644
  • 连接超时:检查安全组是否开放被动端口范围,确认防火墙未拦截。
  • 无法上传:检查write_enable=YES是否启用,chroot目录是否有写权限。

相关问答FAQs

Q1: 如何修改FTP服务的默认端口?
A: 编辑/etc/vsftpd/vsftpd.conf文件,添加listen_port=2121(自定义端口),同时修改阿里云安全组规则,开放新端口(如2121)并关闭默认21端口端口,重启服务后生效:systemctl restart vsftpd

Q2: 如何限制FTP用户仅能访问指定目录?
A: 创建用户时通过-d参数指定主目录(如useradd -d /data/ftpuser -s /sbin/nologin ftpuser),并在vsftpd.conf中设置chroot_local_user=YES,若需更精细控制,可使用user_sub_tokenlocal_root参数实现目录映射,

user_sub_token=$USER  
local_root=/data/$USER  
分享:
扫描分享到社交APP
上一篇
下一篇