阿里云服务器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
目录
相关文章
|
5天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
|
14天前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
50 4
W9
|
2月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
105 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
42 4
|
28天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
29 0
|
3天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
2天前
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。
|
10天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
9天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。