前言

  主要介绍了华为云上如何使用弹性云服务器的Linux实例使用vsftpd软件搭建FTP站点。vsftpd全称是“very secure FTP daemon”,是一款在Linux发行版中使用较多的FTP服务器软件。特点是小巧轻快,安全易用。该指导具体操作以CentOS 7.2 64位操作系统为例。

此文档主要用于FTP手工部署的实践、学习与记录。

一、资源准备

1.1  云服务器主机

弹性云服务器实例规格和操作系统:

内存要求最低512MB,推荐768MB以上,纯面板约占系统60MB内存。

100M以上可用硬盘空间(纯面板约占20M磁盘空间)。

宝塔Linux6.0版本是基于Centos7开发的,强烈建议使用Centos 7.x 系统。

需要是全新的干净系统,没有安装过Apache、Nginx、php、MySQL。

Cpu(core)

内存(GB)

系统版本

2

4

CentOS 7.2 64bit

1.2  安全组

弹性云服务器所在安全组添加了如下表所示的安全组规则。

FTP模式

方向

协议/应用

端口/范围

源地址

主动模式

入方向

TCP

20端口和21端口

0.0.0.0/0

被动模式

入方向

TCP

21端口和配置文件“/etc/vsftpd/vsftpd.conf”中参数“pasv_min_port”和“pasv_max_port”之间的所有端口

0.0.0.0/0

二、 操作步骤

2.1  安装vsftpd

登录云服务器。执行以下命令,安装vsftpd。

yum install -y vsftpd

回显如下信息时,表示软件安装成功。

执行以下命令启动FTP服务并设置FTP服务开机自启。

systemctl start vsftpd.service
systemctl enable vsftpd.service

执行以下命令查看FTP服务端口

netstat -antup | grep ftp

2.2  配置vsftpd

  vsftpd安装后默认开启了匿名FTP的功能,使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,但没有权限修改或上传文件。用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝,但可以在vsftpd里配置用户账号和密码登录。以下操作以

在vsftpd 里配置用户账号和密码登录FTP服务器为例。

执行以下命令创建“ftpadmin”用户。并按照提示设置“ftpadmin”用户密码。

useradd ftpadmin
passwd ftpadmin

执行以下命令创建供FTP使用的文件目录,此处以“/var/ftp/work01”为例。

mkdir /var/ftp/work01    

  执行以下命令将创建的文件目录所有者改为用于登录FTP的本地用户。

chown -R ftpadmin:ftpadmin /var/ftp/work01

  修改“vsftpd.conf”配置文件。执行以下命令打开配置文件“vsftpd.conf”。

vi /etc/vsftpd/vsftpd.conf

  可根据实际需求选择将FTP配置为主动模式或者被动模式。如果华为云上的服务器需要通过公网IP地址访问华为云上的实例搭建的FTP服务器时,需要将FTP服务器配置为被动模式。

  主动模式需要配置的参数如下:
#设置以下参数,不允许匿名登录FTP服务器,允许本地用户登录FTP服务器,并指定FTP本地用户使用的文件目录。
anonymous_enable=NO #不允许匿名登录FTP服务器
local_enable=YES #允许本地用户登录FTP服务器
local_root=/var/ftp/work01 #FTP本地用户使用的文件目录 #设置以下参数,限制用户只能访问自身的主目录。
chroot_local_user=YES #所有用户都被限制在其主目录
chroot_list_enable=YES #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list #例外用户名单
allow_writeable_chroot=YES 被动模式除了需要配置主动模式所需的所有参数外,还需要配置的参数如下:
#设置以下参数,配置FTP支持被动模式。并指定FTP服务器的公网IP地址,以及可供访问的端口范围,端口范围请根据实际环境进行设置。
listen=YES
listen_ipv6=NO
pasv_address=xx.xx.xx.xx #FTP服务器的公网IP地址 pasv_min_port=3000 #被动模式下的最小端口
pasv_max_port=3100 #被动模式下的最大端口

在“/etc/vsftpd/”目录下创建“chroot_list”文件。

touch /etc/vsftpd/ chroot_list

“chroot_list”文件是限制在主目录下的例外用户名单。如果需要设置某个用户不受只可以访问其主目录的限制,可将对应的用户名写入该文件。如果没有例外也必须要有“chroot_list”文件,内容可为空。

执行以下命令重启vsftpd服务使配置生效。

systemctl restart vsftpd.service

三、操作结果

打开客户端的计算机,在路径栏输入“ftp://FTP服务器IP地址:FTP端口”(如果不填端口则默认访问21端口) 。弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对FTP文件进行相应权限的操作。

说明:

如果FTP服务器配置为主动模式,客户端使用此方法访问FTP站点时,需要对IE浏览器进行设置,才能打开FTP的文件夹。打开IE浏览器,选择“工具 > Internet 选项 > 高级”。勾选“启用FTP文件夹视图”,取消勾选“使用被动FTP”。

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

基于华为云服务器的FTP站点搭建的更多相关文章

  1. 基于华为云IOT及无线RFID技术的智慧仓储解决方案最佳实践系列一

    [摘要]仓储管理存在四大细分场景:出入库管理.盘点.分拣和货物跟踪.本系列将介绍利用华为云IOT全栈云服务,端侧采用华为收发分离式RFID解决方案,打造端到端到IOT智慧仓储解决方案的最佳实践. 仓储 ...

  2. springboot +jsp项目打包部署到华为云服务器

    注:打包之前先保证你的项目本地运行没问题. 一.打包 打包有两种方式,打成jar包和打成war包.因为springboot有内置的服务器,所以选择打成jar包,这样云服务器就不用装tomcat了. 打 ...

  3. 在华为云上开启FTP服务并建立FTP站点来从本地向服务器发送和下载文件

    时间:2019/12/8 最近学习计算机网络的时候老师布置了一个实践作业,具体要求是两个人一组,一个在电脑上建立FTP站点,另一个开启FTP服务器来进行文件的上传和下载. 看到这个的时候我灵机一动,正 ...

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

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

  5. 腾讯云服务器linux Ubuntu操作系统搭建ftp服务器vsftpd

    腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd 操作系统: Ubuntu Server 16.04.1 LTS 64位 下面我将系统重装, 一步一步从头开始,安装FTP服务器 ...

  6. Linux服务器上ftp的搭建和使用

    知识点: 1.  FTP的简介.工作原理 2.在Linux上搭建FTP服务器 参考: 阿里云文档:https://help.aliyun.com/knowledge_detail/60152.html ...

  7. 【经验】基于阿里云 Ubuntu 的 LAMP 网站搭建及配置完全教程

    本文同步发表在负雪明烛的博客:https://fuxuemingzhu.cn/2016/03/02/My-Aliyun-Server-Setting/ 起因 最近老师让我做一个众筹系统,可以在微信公众 ...

  8. redis在linux云服务器上完整的搭建步骤

    Redis的安装 搭建环境: 华为云linux服务器 Linux系统CneterOS-7.3 SSH客户端 Xshell6 安装c语言编译环境软件如下: 安装报错 然后找到了解决方法: 安装kerne ...

  9. Ftp站点搭建的详细过程(包括指定用户登录)

    最近接到要部署一个Ftp站点的一个任务,然后过程中有点小插曲踩了一些坑(指定用户登录,用户名和密码都是对的,输入了超级多遍,还是不行,登录不上,后面详细说明解决方案),特此记录一下.避免大家踩坑. 参 ...

随机推荐

  1. AcWing 1204. 错误票据

    题目: 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号. 全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...

  2. 平衡二叉树(c++实现)续

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist --- 欢迎指正--- 题外话:上一篇关于平衡二叉树文章中,我都没说自己是怎么理解的.别人终 ...

  3. 【LeetCode】540. Single Element in a Sorted Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 方法一:异或 方法二:判断相邻元素是否相等 方法三:二分查找 ...

  4. 【LeetCode】611. Valid Triangle Number 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/valid-tri ...

  5. 【LeetCode】865. Smallest Subtree with all the Deepest Nodes 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  6. 1742 开心的小Q

    如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的. 小Q喜欢收集有趣的数字,每找到一个有趣的数,小Q就会变得很开心. 小Q发现12是有趣的,18也是有趣的,它们都是36的约数,而在3 ...

  7. Sentry 开发者贡献指南 - SDK 开发(事件负载)

    内容整理自官方开发文档 系列 Docker Compose 部署与故障排除详解 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentr ...

  8. 慢 SQL 优化

    # 导致SQL执行慢的原因 1. 硬件问题.如网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等. 2. 没有索引或者索引失效.(一般在互联网公司,DBA会在半夜把表锁了,重新建立一遍索引,因为当你 ...

  9. 计算机系统2->从芯片说起 | 芯片怎样诞生

    这部分数字逻辑课上老师在讲CMOS部分时有讲过,当时在课堂上放了一个全英的视频,没怎么看懂,现在在研究计算机系统,自底层说起,也得从这讲起. 主要参考: <嵌入式C语言自我素养> b站相关 ...

  10. 安装并配置 Android Studio 开发工具和 Genymotion 模拟器

    需求说明: 安装并配置 Android Studio 开发工具和 Genymotion 模拟器. 熟练使用 Genymotion 模拟器,掌握 Genymotion 模拟器的基本设置和程序安装. 实现 ...