Vsftpd(very secure FTP deamon)是众多Linux发行版中默认的FTP服务器。本文以CentOS 8(腾讯云)服务器为例,使用vsftpd搭建Linux云服务器的FTP服务器。

环境

 CentOS 8(1核2GB,1Mbps) 64位 ,已安装Docker(CentOS 8 的docker安装 https://www.cnblogs.com/luyj00436/p/14515187.html)。

步骤

步骤1:登录云服务器

登录服务器的方法有三种。根据情况选择合适的。

步骤2:安装vsftpd.

1. 安装vsftpd。

yum install -y vsftpd

2. 设置vsftpd开机启动。

systemctl enable vsftpd

3. 启动FTP服务。

systemctl start vsftpd

4. 确认服务是否启动。

netstat -antup | grep ftp

显示结果如下,则说明服务已成功启动。

此时,vsftpd已默认开启匿名访问模式,无需通过用户名和密码即可登录FTP服务器,使用此方法登录FTP服务器的用户没有权限修改或上传文件的权限。

步骤3:配置vsftpd

1. 为FTP服务器创建一个Linux用户,本文以ftpuser为例。

useradd ftpuser

2. 设置ftpuser用户名的密码。

passwd ftpuser

输入密码后请安Enter确认设置,密码默认不显示,本文以tf7295TFY为例。

3. 创建FTP服务使用的文件目录,本文以/var/ftp/test为例。

mkdir /var/ftp/test

4. 修改目录权限。

chown -R ftpuser:ftpuser /var/ftp/test

5. 打开vsftp.conf文件。

vim /etc/vsftpd/vsftpd.conf

6. 按i切换至编辑模式,根据实际需求选择FTP模式,修改配置文件vsftp.conf。

注:FTP可通过主动模式和被动模式与客户机进行连接并传输数据。由于大多受客户端机器的防火墙设置无法获取真实IP等原因,建议选择被动模式下搭建FTP服务。以下以被动模式为例。如果需要主动模式,请参考:主动模式

1) 修改以下配置参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启IPv4 sockets。

1 anonymous_enable=NO
2 local_enable=YES
3 chroot_local_user=YES
4 chroot_list_enable=YES
5 chroot_list_file=/etc/vsftpd/chroot_list
6 listen=YES

设置用户

2) 在行首添加#,注释listen_Ipv6=YES配置参数,关闭IPv6 sockets。

#listen_ipv6=YES

3) 添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及服务器建立数据传输可使用的端口范围值。

1 local_root=/var/ftp/test
2 allow_writeable_chroot=YES
3 pasv_enable=YES
4 pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP
5 pasv_min_port=40000
6 pasv_max_port=45000

开启被动模式、用户登录目录、端口范围

7. 按ESC后输入:wq保存后退出。

8. 创建并编辑chroot_list文件。

vim /etc/vsftpd/chroot_list

9.按i进入编辑模式,输入用户名,一个用户名占据一行,设置完成后按Esc并输入:wq保存后退出。您若没有设置例外用户的需求,看跳过此步骤,输入:wq退出文件。

10. 重启FTP服务器。

1 systemctl restart vsftpd

步骤4:设置安全组

搭建好FTP服务后,您需要根据实际使用的FTP模式给Linux云服务器放入入站规则,详情请参考添加安全组规则

大多数客户端及其在局域网中,IP地址经过转换的,如果您选择了FTP主动模式,请确保客户端机器已获取真实的IP地址,否则可能会导致无法登录FTP服务器。

  • 主动模式:放通端口21。
  • 被动模式:放通端口21,,及修改配置文件中设置的pasv_min_port到pasv_max_port之间的所有端口,本文放通端口为40000~45000。

步骤5:验证ftp服务

您可通过FTP客户端软件、浏览器或文件资源管理器等工具验证FTP服务,本文以客户端的文件资源管理器为例。

1. 打开客户端的IE浏览器,选择【工具】>【Internet选项】>【高级】,根据您的FTP模式进行修改:

  • 主动模式:取消勾选【使用被动FTP】
  • 被动模式: 勾选【使用被动FTP】。

2. 打开客户端计算机,在路径栏中访问以下地址,如下图所示:

3. 在弹出的“登录身份”窗口输入已设置的用户名及密码。

本文使用的用户名为 ftpuser,密码为 tf7295TFY

4. 成功登录后,即可上传和下载文件。

附录

设置FTP主动模式

主动模式需修改的配置如下,其他配置保持默认设置:

 1 anonymous_enable=NO      #禁止匿名用户登录
2 local_enable=YES #支持本地用户登录
3 chroot_local_user=YES #全部用户被限制在主目录
4 chroot_list_enable=YES #启用例外用户名单
5 chroot_list_file=/etc/vsftpd/chroot_list #指定用户列表文件,该列表中的用户不被锁定在主目录
6 listen=YES #监听IPv4 sockets
7 #在行首添加#注释掉以下参数
8 #listen_ipv6=YES #关闭监听IPv6 sockets
9 #添加下列参数
10 allow_writeable_chroot=YES
11 local_root=/var/ftp/test #设置本地用户登录后所在的目录

FTP主动模式配置

按ESC后输入:wq保存后退出。并继续完成剩余的步骤。然后重启FTP服务。

FTP客户端上传文件失败

Linux系统环境下,通过vsftp上传文件时,提示如下报错信息。

553 Could not create file

解决方法

1. 检查服务器磁盘的使用率。

df -h

如果磁盘空间不足,将会导致文件无法上传,建议删除磁盘容量较大的文件。

  • 如果磁盘空间正常,请执行下一步。

2. 检查FTP目录是否有写的权限。

1 ls -l /home/test
2 # /home/test 为 FTP 目录,请修改为您实际的 FTP 目录。
  • 若返回结果没有w,则表示该用户没有写的权限,请执行下一步。
  • 若返回结果已有w,请提交工单进行反馈。

3. 为FTP目录加上写的权限。

1 chmod +w /home/test
2 # /home/test 为 FTP 目录,请修改为您实际的 FTP 目录。

4. 重新检查写权限是否设置成功。

1 ls -l /home/test
2 # /home/test 为 FTP 目录,请修改为您实际的 FTP 目录。

参考网址

Linux 云服务器搭建 FTP 服务: https://cloud.tencent.com/document/product/213/10912

最新文章

  1. JS实战 · 仿css样式选择器
  2. 在drawable 画胶囊状
  3. KindEditor的内容以Word的形式导出
  4. 如何在Ubuntu下的VirtualBox虚拟机(Windows XP)里挂载/使用U盘 (转载)
  5. iOS中的UI
  6. Open-Drain与Push-Pull
  7. BusyBox
  8. 三.CSS层叠机制
  9. skip跳跃表的实现
  10. 应用Oracle(用户创建和授权)
  11. LoadRunner如何开展性能测试
  12. (step4.2.1) hdu 1372(Knight Moves——BFS)
  13. Knockout 系列
  14. Kafka 0.8源码分析—ZookeeperConsumerConnector
  15. java基础系列--SecurityManager入门(转)
  16. 海思Hi3559A/CV100 DDR4驱动配置手册
  17. 使用 Travis CI 自动部署 Hexo 站点至 GitHub Pages
  18. Python下Tesseract Ocr引擎及安装介绍
  19. IDEA里五种目录类型简介(Mark Directory as)
  20. 基于鸢尾花数据的PCA降维处理

热门文章

  1. 使用Telnet伪造邮件发送
  2. mysql窗口函数
  3. 常用ansible命令梳理
  4. WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法
  5. 【SSO单点系列】(5):CAS4.0 之JDBC
  6. AC间二层漫游
  7. 阐述智能站变电站时钟同步系统(NTP时间同步服务器)的意义
  8. Curl 命令举例
  9. QT 使用QDomDocument::setContent()读XML文件总是返回false
  10. win10开机无限自动修复篇