华为云之快速部署FTP站点

news2024/12/24 11:27:08

华为云之快速部署FTP站点

  • 一、本次实践介绍
    • 1.1 实践环境简介
    • 1.2 本次实践目的
  • 二、vsftpd介绍
    • 2.1 vsftpd简介
    • 2.2 vsftpd特点
  • 三、环境准备工作
    • 3.1 预置实验环境
    • 3.2 查看预置环境信息
    • 3.3 登录华为云
    • 3.4 查看弹性云服务器状态
    • 3.5 查看弹性公网IP地址
    • 3.6 ssh登录弹性云服务器
    • 3.6 查看操作系统版本
    • 3.7 查看内核版本
  • 四、安装vsftpd
    • 4.1 安装vsftpd软件
    • 4.2 启动FTP服务
    • 4.3 查看FTP服务端口
  • 五、配置vsftpd
    • 5.1 创建ftp用户
    • 5.2 创建文件目录
    • 5.3 修改vsftpd.conf配置文件
    • 5.4 创建chroot_list文件
    • 5.5 重启vsftpd服务
    • 5.6 安全组设置
  • 六、客户端测试工作
    • 6.1 浏览器设置
    • 6.2 浏览器访问

一、本次实践介绍

1.1 实践环境简介

1.本次实践环境使用华为KooLabs云实验平台。
2.本次实践基于华为云ECS弹性云服务器。
3.本次使用操作系统为CentOS系统。

1.2 本次实践目的

1.熟练使用华为云ECS弹性云服务器;
2.熟练使用Linux的基本命令;
3.学会在centos系统下部署快速部署FTP站点

二、vsftpd介绍

2.1 vsftpd简介

vsftpd(Very Secure FTP Daemon)是一个开源、快速、轻量级的FTP服务器软件。它是在GPL下发布的,具有极高的安全性和稳定性,是Linux系统中使用最广泛的FTP服务器软件之一。

2.2 vsftpd特点

vsftpd是一个非常优秀的FTP服务器软件,具有优异的性能和安全性。

  • 安全性高:vsftpd支持SSL/TLS加密传输,可以保证FTP传输过程中的数据安全。

  • 配置简单:vsftpd配置简单,不需要大量的配置文件或参数,几乎所有的设置都可以通过简单的命令行选项或配置文件设置完成。

  • 高效稳定:vsftpd能够处理大量并发连接,同时还能够控制用户和IP地址的访问权限,确保FTP服务器的高效稳定运行。

  • 支持虚拟用户:vsftpd支持虚拟用户,可以通过虚拟用户来限制FTP用户的访问权限。

三、环境准备工作

3.1 预置实验环境

1.开始实验之前请点击手册上方“预置实验环境”按钮。
2.实验环境约等待【2分钟】后预置成功。环境预置成功会自动创建一台名称为 ecs-name 的弹性云服务器 ECS。

image.png
image.png

3.2 查看预置环境信息

预置的 ECS 资源用户、密码信息可点击预置环境信息查看。

image.png

3.3 登录华为云

进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面。
如果无法自动登录华为云,选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云。

image.png
image.png
image.png

3.4 查看弹性云服务器状态

查看实验环境自动生成的弹性云服务器状态

image.png

3.5 查看弹性公网IP地址

在ECS控制台,复制弹性公网IP地址。

image.png

3.6 ssh登录弹性云服务器

打开桌面的Xfce终端,输入命令连接远程服务

ssh root@EIP

image.png

3.6 查看操作系统版本

查看操作系统版本

[root@ecs-name ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

3.7 查看内核版本

查看系统内核版本

[root@ecs-name ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

四、安装vsftpd

4.1 安装vsftpd软件

使用yum直接安装vsftpd

yum install -y vsftpd

在这里插入图片描述

4.2 启动FTP服务

启动FTP服务并设置开机自启

systemctl enable vsftpd.service && systemctl start vsftpd.service

4.3 查看FTP服务端口

查看FTP服务端口

netstat -antup | grep ftp

在这里插入图片描述

五、配置vsftpd

5.1 创建ftp用户

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

useradd ftpadmin
passwd ftpadmin

在这里插入图片描述

5.2 创建文件目录

新建FTP使用的文件目录,此处以“/var/ftp/work01”为例。
将创建的文件目录所有者改为用于登录FTP的本地用户。

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

5.3 修改vsftpd.conf配置文件

修改 /etc/vsftpd/vsftpd.conf配置文件,pasv_address的值需替换为服务器的公网 IP 。

[root@ecs-name vsftpd]# cat /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO
local_enable=YES
local_root=/var/ftp/work01

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES

listen=YES
listen_ipv6=NO
pasv_address=121.36.16.15
           
pasv_min_port=3000
pasv_max_port=3100

5.4 创建chroot_list文件

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

cd /etc/vsftpd/ && touch chroot_list

5.5 重启vsftpd服务

重启vsftpd服务

systemctl restart vsftpd.service

5.6 安全组设置

ECS服务器的安全组放行21端口,或者测试时放行全部端口。

在这里插入图片描述

六、客户端测试工作

6.1 浏览器设置

在浏览器输入以下地址,将该配置状态修改为:Enabled,并点击重新登录:

Chrome://flags/#enable-ftp

在这里插入图片描述

6.2 浏览器访问

在浏览器标签页输入以下链接,弹出输入用户名和密码的对话框表示配置成功。

ftp://服务器IP地址

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

System.out.println隐藏字符串

昨天开发的时候遇到一个坑,这个坑几乎浪费了我一整天时间,我甚至现在都不知道其原因。 开发环境 macOS Ventura 13.4 IntelliJ IDEA 2023.1.2 现象 我用java的各种httpclient获取网络上的一个文本文件,获取的文本文件的内容使用System.ou…

Python 网络爬虫(一):HTML 基础知识

《Python入门核心技术》专栏总目录・点这里 文章目录 1. 什么是 HTML2. HTML 的特点3. HTML 的标签和属性4. HTML 的结构4.1 文档类型声明4.2 根元素4.3 头部部分4.4 主体部分4.5 表格标签4.6 区块4.7 嵌套和层次结构4.8 表单4.9 注释 5. HTML 交互事件 大家好,我是…

Postman Post请求上传文件

Postman Post请求上传文件 一、选择post请求方式,输入请求地址 二、填写Headers Key:Content-Type Value:multipart/form-data [{"key":"Content-Type","value":"multipart/form-data","de…

CSS 滚动捕获 scroll-padding

scroll-padding 非滚动捕获容器滚动捕获容器语法兼容性 CSS 滚动捕获 scroll-padding 设置元素的滚动内边距, 就像 padding 所做的那样. 但并不影响布局. 非滚动捕获容器 我们先来看看不影响布局到底是什么意思. 我们平时会见到左侧是内容, 右侧是内容导航的页面, 比如下图 这…

uniApp打包的手机app如果用户没开启通知权限、引导用户开启

封装一个setPermissions.js文件 /*** 如果用户没开启通知权限、引导用户开启 */ export function setPermissions() {// #ifdef APP-PLUS if (plus.os.name Android) {var main plus.android.runtimeMainActivity();var pkName main.getPackageName();var uid main.getApp…

Python项目管理利器poetry我愿称之为神!

MongoDB是一种流行的NoSQL数据库,它以灵活的文档结构存储数据。MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址: https://www.mongodb.com/try/download/…

5.C转python

新始: 13.列表可被改变(数据),元组不可被改变(数据),二者皆与C中的数组的大致相同 14.创建列表方法: 1.一个[ ]就是一个空的列表 2.使用list函数来创建列表 如: 15.可以在[ ]内部指定列表的初始值,打印方法: 如: 16.在python中,在同一个列表中,可以放不同类型的变量(也可…

centos7 yum安装nginx

1.安装源 yum install epel-release 2.安装 (-y 的意思是自动yes) yum install nginx -y 3.查找安装到哪里了 whereis nginx 一般都是在 /etc/nginx下面 4.常用命令 检查配置文件是否正确 nginx -t 启动 systemctl start nginx 查看状态 systemctl status nginx 设置开…

为XiunoBBS4.0开启redis缓存且支持密码验证

修改模块文件1 xiunoPHP/cache_redis.class.php: <?phpclass cache_redis {public $conf array();public $link NULL;public $cachepre ;public $errno 0;public $errstr ;public function __construct($conf array()) {if(!extension_loaded(Redis)) {return $thi…

大数据技术之Oozie

大数据技术之Oozie 第1章 Oozie简介 Oozie英文翻译为&#xff1a;驯象人。一个基于工作流引擎的开源框架&#xff0c;由Cloudera公司贡献给Apache&#xff0c;提供对Hadoop MapReduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任…

【技术分享】RK356X Android11 以太网共享4G网络

本文基于IDO-SBC3566-V1B Android11系统实现开机后以太网自动共享4G网络功能。 IDO-SBC3566基于瑞芯微RK3566研发的一款高性能低功耗的智能主板&#xff0c;采用四核A55,主频高达1.8GHz&#xff0c;专为个人移动互联网设备和AIOT设备而设计&#xff0c;内置了多种功能强大的嵌…

docker踩坑记录:docker容器创建doris容器间无法通讯问题

背景&#xff1a; 开发大数据平台&#xff0c;使用doris作为数据仓储&#xff0c;使用docker做集群部署&#xff0c;先进行开发环境搭建&#xff0c;环境为BE1;FE1&#xff0c;原来使用官方例子&#xff0c;但是官方例子是创建了一个bridge使用172.20.80.0/24通讯&#xff0c;…

设计模式---第四篇

系列文章目录 文章目录 系列文章目录前言一、说说策略模式在我们生活的场景?二、知道责任链模式吗?三、了解过适配器模式么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给…

【集合篇】Java集合概述

Java 集合概述 集合与容器 容器&#xff08;Container&#xff09;是一个更广泛的术语&#xff0c;用于表示可以容纳、组织和管理其他对象的对象。它是一个更高层次的概念&#xff0c;包括集合&#xff08;Collection&#xff09;在内。集合&#xff08;Collection&#xff0…

Linux下为可执行文件添加图标

Ubuntu 18.04上使用Qt5.14.2创建一个简单的Qt Widgets项目test&#xff0c;添加2个Push Button按钮&#xff0c;点击分别获取github和csdn地址&#xff0c;在mainwindow.cpp中添加的代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" #inclu…

shell 脚本计算距离最近的坐标

shell 脚本计算距离最近的坐标 坐标数据文件geo.log格式如下&#xff1a; beijing(116.405285,39.904989) tinajin(117.190182,39.125596) hebei(114.502461,38.045474) shanxi(112.549248,37.857014) neimenggu(111.670801,40.818311) liaoning(123.429096,41.796767) jilin(1…

LeetCode | 100. 相同的树

LeetCode | 100. 相同的树 OJ链接 判断两个节点是否等于空&#xff0c;两个都等于空就直接返回true如果一个等于空&#xff0c;另一个不等于空&#xff0c;说明false然后再判断两个树的值是否相等最后递归p的左&#xff0c;q的左&#xff0c;p的右&#xff0c;q的右 bool isS…

SIP协议在语音通信的应用方式及OKCC系统中的配置方法

在企业语音通信的过程中&#xff0c;SIP协议支持的网络通信技术通过网络为用户提供了无数的通信便利&#xff0c;已成为企业不可或缺的重要通信技术。由于SIP协议是语音通信帮助企业实现这些优势的原因&#xff0c;因此了解支持这些呼叫的SIP协议的上下文至关重要。 什么是SI…

大数据之HBase(二)

Master详细架构 位置&#xff1a;namenode实现类&#xff1a;HMaster组成 负载均衡器&#xff1a;通过meta了解region的分配&#xff0c;通过zk了解rs的启动情况&#xff0c;5分钟调控一次分配平衡元数据表管理器&#xff1a;管理自己的预写日志&#xff0c;如果宕机&#xff…

Hertz 整合swagger

文章目录 Swagger安装使用用法项目demoSwagger注释用法通用API信息 swag命令行参数swagger路由配置 Swagger 安装 go get 安装可执行文件需要配合 GOPATH 模式工作。 go get github.com/swaggo/swag/cmd/swag 因为从 Go 1.17 开始&#xff0c;在 go mod 模式下通过 go get 下…