本文以 CentOS 7.2 64位系统为例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端。指导您如何在 Linux 云服务器上搭建 FTP 服务。

操作步骤

安装 vsftpd

登录 Linux 云服务器。

执行以下命令,安装 vsftpd。

yum install vsftpd -y

启动服务

执行以下命令,启动服务。

systemctl start vsftpd

执行以下命令,确认服务是否启动。

netstat -tunlp

返回类似如下信息,则表示 vsftpd 服务已经启动成功。

(可选)验证 vsftpd 服务

说明:

为了保证 FTP 服务端顺利完成配置,您还可以在本地计算机或其他云服务器上执行以下操作步骤,再次验证 vsftpd 服务是否启动成功。以下操作步骤以 Linux 操作系统的本地计算机为例。如果本地计算机为 Windows/Mac OS 操作系统,请确保该计算机已开启 telnet 功能。

在本地计算机的操作系统界面,执行以下命令,安装 telnet 服务。

说明:

如果您的本地计算机为 Windows/Mac OS 操作系统,请跳过此步骤。

yum -y install telnet

执行以下命令,测试 vsftpd 服务是否启动成功

telnet + 云服务器公网 IP + 21

返回类似如下信息,即表示已经启动成功。

配置 vsftpd

执行以下命令,打开 vsftpd 配置文件。

vi /etc/vsftpd/vsftpd.conf

按 “i” 或 “Insert” 切换至编辑模式,将文件中的anonymous_enable=YES改为anonymous_enable=NO。如下图所示:



按 “Esc”,输入 “:wq”,保存文件并返回。

添加 FTP 用户

执行以下命令,添加用户ftpuser1

useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1

执行以下命令,设置用户ftpuser1的密码。

passwd ftpuser1

创建用户、用户密码设置成功。如下图所示:

常见问题

FTP 客户端连接超时或者读取目录列表失败

问题描述

部分用户在本地使用 FTP 客户端连接时可能遇到连接超时和读取目录列表失败的问题。如下图所示:

问题出现在 PASV 命令处。原因在于 FTP 协议在腾讯云网络架构上的不适。FTP 客户端默认被动模式传输,因此在通信过程中会去寻找服务器端的 IP 地址进行连接,但是由于腾讯云的公网 IP 不是直接配在网卡上,因此在被动模式下客户端无法找到有效 IP (只能找到云服务器内网 IP ,内网 IP 无法直接和公网通信),故无法建立连接。

解决方法

将客户端传输模式改为主动即可。

如果客户端网络环境要求被动模式,那么需要在服务端 配置 vsftpd 中的配置文件中新增这些语句:

pasv_address=XXX.XXX.XXX.XXX     //(公网 IP)
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048

FTP 客户端上传文件失败

问题描述

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

553 Could not create file

解决方法

执行以下命令,检查服务器磁盘空间的使用率。

df -h

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

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

执行以下命令,检查 FTP 目录是否有写的权限。

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

若返回结果中没有 w,则表示该用户没有写的权限,请执行下一步。

若返回结果中已有 w,请 提交工单 进行反馈。

执行以下命令,对 FTP 目录加上写的权限。

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

执行以下命令,重新检查写的权限是否设置成功。

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

Linux(Centos7) 实例搭建 FTP 服务的更多相关文章

  1. centos7中搭建ftp服务

    博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...

  2. 关于linux服务器上搭建ftp服务的流程

    小龙最近折腾了一个阿里云的服务器,买完了就要开始做那么多那么多的功课,小龙对ssh也是一知半解的状态,做个小笔记,发布下整个ftp服务的搭建过程,大神勿喷:) 一.aliyun Linux(Redha ...

  3. 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd

    腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...

  4. CentOS7.4搭建ftp服务

    1.使用yum安装vsftpd yum install vsftpd -y 2.安装完成后,启动 FTP 服务: service vsftpd start 3.配置ftp权限 目前 FTP 服务登陆允 ...

  5. Centos7搭建FTP服务详细过程

    Centos7搭建FTP服务详细过程https://blog.csdn.net/sinat_30802291/article/details/81706152

  6. Linux centosVMware xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    一.xshell使用xftp传输文件 Ctrl+Alt+F 弹出 下载进入 填写任意名字,自己邮箱 进入邮箱点击网址就自动下载了 然后安装 二.使用pure-ftpd搭建ftp服务 yum insta ...

  7. 如何在Windows Server 2008 R2下搭建FTP服务

    在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...

  8. windows server2008下搭建ftp服务

    在工作中不光使用linux系统下的ftp服务,也得使用windows下的,今天领导让我做一个,踩了很多坑,终于是做完了,重现下过程,我们就来一步一步搭建我们的windows下的ftp服务器: 1.环境 ...

  9. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

随机推荐

  1. Blazor和Vue对比学习(基础1.3):属性和父子传值

    组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue ...

  2. 进程线程协程补充、docker-compose一键部署项目、搭建代理池、requests超时设置、认证设置、异常处理、上传文件

    今日内容概要 补充:进程,线程,协程 docker-compose一键部署演示 搭建代理池 requests超时设置 requests认证设置 requests异常处理 requests上传文件 内容 ...

  3. Git 不识别文件名字母大小写变化

    问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare context: unable ...

  4. DirectX11 With Windows SDK--40 抗锯齿:FXAA

    前言 在默认的情况下渲染,会看到物体的边缘会有强烈的锯齿感,究其原因在于采样不足.但是,尝试提升采样的SSAA会增大渲染的负担:而硬件MSAA与延迟渲染又不能协同工作.为此我们可以考虑使用后处理的方式 ...

  5. 深入C++03:面向对象

    面向对象 类和对象.this指针 不用做太多笔记,都可以看初识C++的笔记: 记住:声明后面都要加":",比如声明方法和变量还有class结束的地方:而实现函数出来的地方是不需要加 ...

  6. cloudwu/coroutine 源码分析

    1 与其它协程库使用对比 这个 C 协程库是云风(cloudwu) 写的,其接口风格与 Lua 协程类似,并且都是非对称 stackful 协程.这个是源代码中的示例: #include " ...

  7. Docker打包镜像并上传

    Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...

  8. STM32内存知识

    在了解STM32内存之前需要了解 MCU 的型号和MDK 中的.map 文件,很多刚学习 stm32 时都不会过多的去了解 MCU 的选型,是在太枯燥了.这里在从新了解一下,久了就熟悉了. 一.STM ...

  9. JAVA学习之第一个HelloWorld程序

    第一个HelloWorld程序 第一步,创建java类型的文件 第二步,在创建文件的目录中打开cmd窗口 第三步,使用javac 命令将java文件编译为.class类型的字节码文件 第四步,使用ja ...

  10. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...