本文以 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. 【Azure Developer】使用 Microsoft Authentication Libraries (MSAL) 如何来获取Token呢 (通过用户名和密码方式获取Access Token)

    问题描述 在上一篇博文<[Azure Developer]使用 adal4j(Azure Active Directory authentication library for Java)如何来 ...

  2. 在博客文章中使用mermaid 定义流程图,序列图,甘特图

    概述 Mermaid(美人鱼)是一套markdown语法规范,用来在markdown文档中定义图形,包括流程图.序列图.甘特图等等. 它的官方网站是 https://mermaid-js.github ...

  3. (AAAI2020 Yao) Graph Few-shot Learning via knowledge transfer

    22-5-13 seminar上和大家分享了这篇文章 [0]Graph few-shot learning via knowledge transfer 起因是在MLNLP的公众号上看到了张初旭老师讲 ...

  4. mysql的命令二

    1.插入数据 格式一:insert into table_name valuse (字段1,字段2): insert test1 values ('wangsan',22,'male'); 格式二:i ...

  5. SpringBoot线程池

    1.遇到的场景 提高一下插入表的性能优化,两张表,先插旧的表,紧接着插新的表,若是一万多条数据就有点慢了 2.使用步骤 用Spring提供的对ThreadPoolExecutor封装的线程池Threa ...

  6. 204. Count Primes - LeetCode

    Queston 204. Count Primes Solution 题目大意:给一个数,求小于这个数的素数的个数 思路:初始化一个boolean数组,初始设置为true,先遍历将2的倍数设置为fal ...

  7. Android.mk编译App源码

    在Andriod源码环境编译APP主要考虑如何引入第三方jar包和arr包的问题,初次尝试,步步是坑,这里给出一个模板: LOCAL_PATH := $(call my-dir) include $( ...

  8. MySQL的Explain总结

    Explain简介 MySQL优化器在基于成本的计算和基于规则的SQL优化会生成一个所谓的执行计划,我们就可以使用执行计划查看MySQL对该语句具体的执行方式. 介绍这个好啰嗦就是了,我们可以通过这个 ...

  9. mysql数据恢复 根据旧备份的sql文件和当前data下的ibd文件恢复innodb引擎数据

    1.使用navicat fro mysql数据库工具进行恢复 2.将原有备份的sql文件导入数据库 3.新建一个空数据库 4将备份数据库的数据表复制到新建数据库(只复制表格式) 5.在命令行模式中 u ...

  10. 一张图进阶 RocketMQ - NameServer

    前言 「三此君看了好几本书,看了很多遍源码整理的 一张图进阶 RocketMQ 图片链接,关于 RocketMQ 你只需要记住这张图!觉得不错的话,记得点赞关注哦.」 一张图进阶 RocketMQ 图 ...