前言

  主要介绍了华为云上如何使用弹性云服务器的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. generating project in interactive mode

    解决方案:加个参数 -DarchetypeCatalog=internal 让它不要从远程服务器上取catalog

  2. python爬取信息到数据库与mysql简单的表操作

    python 爬取豆瓣top250并导入到mysql数据库中 import pymysql import requests import re url='https://movie.douban.co ...

  3. JAVA使用aspose实现word文档转pdf文件

    引入jar包 下载地址:https://yvioo.lanzous.com/iezpdno3mob 然后打开下载的目录打开cmd执行 mvn install:install-file -Dfile=a ...

  4. 【九度OJ】题目1056:最大公约数 解题报告

    [九度OJ]题目1056:最大公约数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1056 题目描述: 输入两个正整数,求 ...

  5. 【LeetCode】905. Sort Array By Parity 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述: 题目大意 解题方法 自定义sorted函数的cmp 日期 题目地址:h ...

  6. HDU 5965:扫雷(DP,递推)

    扫雷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  7. 【系统分析】《系统分析与设计方法》 Jeffrey L.Whitten 第1部分 系统开发环境 第3章 信息系统开发

    1.解释为什么对企业来说,拥有一个标准的系统开发过程很重要. 开发过程的成熟,使项目时间和费用减少,生产率和质量提高 2.如何关联系统生命周期和系统开发方法学? 系统生命周期包含系统开发阶段,其中使用 ...

  8. 【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器

    问题描述 在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题, ...

  9. 后缀数组【原理+python代码】

    后缀数组 参考:https://blog.csdn.net/a1035719430/article/details/80217267 https://blog.csdn.net/YxuanwKeith ...

  10. LDAP理解要点

    1.介绍 LDAP(Lightweight Directory Access Protocol)是"轻量级目录访问协议", 是一个用于访问"目录服务器"(Dir ...