阿里云服务器Linux实例搭建FTP站点教程!

简介: vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。本教程以 CentOS 7.2 64位操作系统为例,说明如何在 Linux 实例上安装并配置 vsftpd。

vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。本教程以 CentOS 7.2 64位操作系统为例,说明如何在 Linux 实例上安装并配置 vsftpd


步骤一: 安装 vsftpd


  1. 远程连接并登录到 Linux 实例。
  2. 运行命令yum install -y vsftpd安装 vsftpd。出现下图表示安装成功。
  3. 运行以下命令进入/etc/vsftpd目录,并查看该目录下的文件。
    cd /etc/vsftpd
    ls


    说明

    • /etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。
    • /etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
    • /etc/vsftpd/user_list 是白名单文件,此文件里的用户允许访问 FTP 服务器。

  4. 运行以下命令设置FTP服务开机自启动。
    systemctl enable vsftpd.service
  5. 运行以下命令启动 FTP 服务。
    systemctl start vsftpd.service
  6. 运行以下命令查看 FTP 服务监听的端口。
    netstat -antup | grep ftp


步骤二: 配置 vsftpd


vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能。使用匿名访问,您无需输入用户名密码即可登录 FTP 服务器,但没有权限修改或上传文件。


本教程介绍了以下两种配置 vsftpd 的方法,并提供了相关的参数说明,您可以根据具体需要进行参考。


  • 配置匿名用户上传文件权限
  • 配置本地用户登录

配置匿名用户上传文件权限


匿名访问FTP服务器是一种不安全的访问模式,任何人无需密码验证就可以登录到FTP服务器,这种模式一般只用来保存不重要的公开文件,不推荐在生产环境中使用。如果您需要配置匿名用户上传文件的权限,可以参考以下步骤配置:


  1. 修改/etc/vsftpd/vsftpd.conf
    1. 运行vim /etc/vsftpd/vsftpd.conf
    2. 按i 键进入编辑模式。
    3. 将写权限修改为write_enable=YES
    4. 将匿名上传权限修改为anon_upload_enable=YES
    5. 按Esc键退出编辑模式,然后输入:wq保存并退出文件。
  2. 运行以下命令更改/var/ftp/pub目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。
    chmod o+w /var/ftp/pub/
    systemctl restart vsftpd.service


配置本地用户登录


本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。


vsftpd 安装后默认只支持匿名访问 FTP 服务器,如果您试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 服务拒绝。您可以参考以下步骤配置 vsftpd 服务,以使用Linux账号和密码访问FTP服务器。


  1. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest。
    useradd ftptest
  2. 运行以下命令修改ftptest 用户的密码。
    passwd ftptest
  3. 创建一个供FTP服务使用的文件目录。
    mkdir /var/ftp/test
  4. 更改/var/ftp/test目录的拥有者为ftptest。
    chown -R ftptest:ftptest /var/ftp/test
  5. 输入命令vim /etc/vsftpd/vsftpd.conf打开vsftpd.conf配置文件并按键i进入编辑模式。
  6. 修改vsftpd.conf配置文件。

    FTP服务器可以配置为主动模式或被动模式。


    • 主动模式下,客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。配置FTP为主动模式的参数如下:
      #禁止匿名登录FTP服务器
      anonymous_enable=NO

      允许本地用户登录FTP服务器

      local_enable=YES

      设置本地用户登录后所在的目录

      local_root=/var/ftp/test

      全部用户被限制在主目录

      chroot_local_user=YES

      启用例外用户名单

      chroot_list_enable=YES

      指定例外用户列表,这些用户不被锁定在主目录

      chroot_list_file=/etc/vsftpd/chroot_list

      配置其他参数

      allow_writeable_chroot=YES
      local_umask=022
      dirmessage_enable=YES
      xferlog_enable=YES
      connect_from_port_20=YES
      xferlog_std_format=YES
      listen=YES
      pam_service_name=vsftpd
      userlist_enable=YES
      tcp_wrappers=YES

    • 被动模式下,服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接受连接。在被动模式下,您需要配置服务端可以开启的数据端口范围。配置FTP为被动模式的参数如下:
      #禁止匿名登录FTP服务器
      anonymous_enable=NO

      允许本地用户登录FTP服务器

      local_enable=YES

      设置本地用户登录后所在目录

      local_root=/var/ftp/test

      全部用户被限制在主目录

      chroot_local_user=YES

      启用例外用户名单

      chroot_list_enable=YES

      指定例外用户列表,这些用户不被锁定在主目录

      chroot_list_file=/etc/vsftpd/chroot_list

      开启被动模式

      pasv_enable=YES

      FTP服务器公网IP

      pasv_address=<FTP服务器公网IP>

      设置被动模式下,建立数据传输可使用port范围的最小值

      pasv_min_port=port number

      设置被动模式下,建立数据传输可使用port范围的最大值

      pasv_max_port=port number

      配置其他参数

      local_umask=022
      dirmessage_enable=YES
      xferlog_enable=YES
      xferlog_std_format=YES
      tcp_wrappers=YES
      allow_writeable_chroot=YES
      listen=YES
      listen_ipv6=NO
      pam_service_name=vsftpd
      userlist_enable=YES

      <blockquote> 
       <p><strong>说明</strong> 建议您把端口范围设在比较高的一段范围内&#xff0c;比如50000-50010&#xff0c;有助于提高访问FTP服务器的安全性。</p> 
      </blockquote> </li></ul></li><li>按Esc键退出编辑模式&#xff0c;然后按键<code>:wq</code>保存并退出文件。</li><li>运行<code>vim /etc/vsftpd/chroot_list</code>命令创建chroot_list文件&#xff0c;并写入不受只可以访问其主目录限制的例外用户名单。 


      说明 如果没有例外用户也必须要有 chroot_list文件,内容可为空。


    • 按键Esc退出编辑模式,然后按键:wq保存并退出文件。
    • 运行以下命令重启vsftpd服务。
      systemctl restart vsftpd.service

vsftpd.conf 的配置文件参数说明


运行命令cat /etc/vsftpd/vsftpd.conf查看配置文件内容。


用户登录控制:

参数 说明
anonymous_enable=YES 接受匿名用户
no_anon_password=YES 匿名用户login时不询问口令
anon_root=(none) 匿名用户主目录
local_enable=YES 接受本地用户
local_root=(none) 本地用户主目录

用户权限控制:

参数 说明
write_enable=YES 可以上传(全局控制)
local_umask=022 本地用户上传文件的umask
file_open_mode=0666 上传文件的权限配合umask使用
anon_upload_enable=NO 匿名用户可以上传
anon_mkdir_write_enable=NO 匿名用户可以建目录
anon_other_write_enable=NO 匿名用户修改删除
chown_username=lightwiter 匿名上传文件所属用户名

步骤三: 设置安全组


搭建好 FTP 站点后,您需要在实例安全组的入方向添加放行下列 FTP 端口的规则。


  • FTP 为主动模式时:端口21。
  • FTP 为被动模式时:端口21,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。

添加安全组规则的具体步骤,请参见添加安全组规则


步骤四: 客户端测试


您可以通过 FTP 客户端或浏览器访问 FTP 服务器进行测试。本教程以windows自带的IE(Internet Explorer)浏览器为例,分别为您介绍 FTP 服务器配置为主动模式或被动模式时的访问步骤。


FTP服务器为主动模式


  1. 打开客户端的 IE 浏览器。
  2. 将浏览器设置为主动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,取消勾选 使用被动 FTP。
  3. 在地址栏中输入ftp://<FTP服务器IP地址>:FTP端口,例如:ftp://39.10.0.28:21
  4. 在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。

FTP服务器为被动模式


  1. 打开客户端的 IE 浏览器。
  2. 将浏览器设置为被动访问模式。选择 设置 > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。
  3. 在地址栏中输入ftp://<FTP服务器IP地址>:FTP端口,例如:ftp://39.10.0.28:21
  4. 在弹出的对话框中,输入用户名和密码,即可对 FTP 文件进行相应权限的操作。


说明 使用浏览器访问 FTP 服务器出错时,建议您清除浏览器缓存后再尝试。


 


云服务器ECS地址:阿里云·云小站


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
21 4
|
16天前
|
人工智能 安全 Linux
|
24天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
200 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
1月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
1月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
1月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
6天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
8天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
6天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。