基于ECS服务器搭建FTP服务

vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。

说明: 匿名用户模式和本地用户模式只可同时配置一种。

本文主要介绍被动模式下,使用本地用户访问FTP服务器的配置方法。

1. 安装vsftpd
1.1 执行以下命令安装vsftpd
yum install -y vsftpd
返回如下图所示界面时,表示安装成功

1.2 设置FTP服务开机自启动
systemctl enable vsftpd.service

1.3 启动FTP服务
systemctl start vsftpd.service

1.4 运行以下命令查看FTP服务监听的端口
netstat -antup | grep ftp

出现如下图所示界面,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。

2. 配置vsftpd
2.1 为FTP服务创建一个Linux用户
本示例中,该用户名为ftptest

adduser ftptest

2.2 修改ftptest用户的密码
运行命令后,根据命令行提示完成FTP用户的密码修改

passwd ftptest

2.3 创建一个供FTP服务使用的文件目录
mkdir /var/ftp/test

2.4 创建测试文件
该测试文件用于FTP客户端访问FTP服务器时使用

touch /var/ftp/test/testfile.txt

2.5 更改/var/ftp/test目录的拥有者为ftptest
chown -R ftptest:ftptest /var/ftp/test

2.6 依次执行以下命令,修改vsftpd.conf配置文件,配置FTP为被动模式
注意:您需要将echo “pasv_address=<FTP服务器公网IP地址>” >> /etc/vsftpd/vsftpd.conf命令中的<FTP服务器公网IP地址>替换为自己的ECS服务器的弹性IP

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录 
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单 
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录 
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录 

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

2.7 创建chroot_list文件,并在文件中写入例外用户名单
(1) 创建chroot_list文件

vim /etc/vsftpd/chroot_list

(2)按i进入编辑模式

(3)输入例外用户名单

此名单中的用户不会被锁定在主目录,可以访问其他目录。本示例中,没有例外用户,可以不输入例外用户名单。

(4)按ECS退出编辑模式,然后输如:wq并回车以保存并关闭文件

说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空

(5)重启vsftpd服务

systemctl restart vsftpd.service

3. 配置安全组
搭建好FTP服务后,在ECS实例安全组的入方向添加规则并放行下列FTP端口

说明: 大多数客户端位于局域网中,IP地址是经过转换的,因此ipconfig或ifconfig命令返回的IP不一定是客户端的真实公网IP地址。若后续客户端无法登录FTP服务器,请重新确认其公网IP地址。

3.1 在安全组规则页签的访问规则区域,选择入方向>手动添加


3.2 添加配置
具体配置如下图,然后单击保存

说明:

(1)0.0.0.0/0为允许所有IP地址访问,可以根据您本地公网IP地址或网段进行设置来增加安全性(浏览器中输入IP即可查看您本地IP地址)

(2)需要根据服务器的具体情况设置端口范围,例如ftp开放21端口,数据库开放3306端口等

4. 客户端测试
FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。(此步骤仅适用于本地用户,匿名模式无需进行测试操作)

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

(1) 在您的本地主机中,打开此电脑

(2) 在地址栏中输入ftp://<FTP服务器公网IP地址>:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://127.0.0.1:21。

说明:如果您使用Mac OS系统,您可使用浏览器访问。

(3) 在弹出的对话框中,输入用户名和密码(前面配置的用户名和密码)

(4) 登录成功界面如下,您可在FTP服务器中查看到testfile.txt文件,此时您也可对FTP文件进行相应权限的操作

如果连接时出现以下错误:


解决方法:

打开本地电脑的控制面板,找到Internet选项-高级-去掉【使用被动FTP(用于防火墙和DSL调制解调器的兼容)】前面的对勾,点击右下角应用,再次访问就好了


原文链接:https://blog.csdn.net/Cafune_f/article/details/126433685

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

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

相关文章

前端实现贪吃蛇功能

大家都玩过贪吃蛇小游戏&#xff0c;控制一条蛇去吃食物&#xff0c;然后蛇在吃到食物后会变大。本篇博客将会实现贪吃蛇小游戏的功能。 1.实现效果 2.整体布局 /*** 游戏区域样式*/ const gameBoardStyle {gridTemplateColumns: repeat(${width}, 1fr),gridTemplateRows: re…

新买电脑配置不低却卡顿?

目录 前言&#xff1a; 电脑卡顿的原因 Windows 10必做的系统优化 禁用 IP Helper 关闭系统通知 机械硬盘开启优化驱动器功能 开启存储感知 前言&#xff1a; 新买的电脑配置不低&#xff0c;但却卡顿甚至程序不反应&#xff0c;这是怎么回事儿&#xff1f; 其实并不…

《Linux C编程实战》笔记:Linux信号介绍

信号是一种软件中断&#xff0c;它提供了处理一种异步事件的方法&#xff0c;也是进程惟一的异步通信方式。在Linux系统中&#xff0c;根据POSIX标准扩展的信号机制&#xff0c;不仅可以用来通知某进程发生了什么事&#xff0c;还可以给进程传递数据。 信号的来源 信号的来源…

信号处理专题设计-基于边缘检测的数字图像分类识别

目录 一、实验目的 二、实验要求 三、实验原理 1.卷积神经网络&#xff08;CNN&#xff09;模型 2.边缘检测 3.形态学操作 4.鲁棒性 四、实验过程 1.数据预处理 2. 网络的构建 3.模型的训练 4.边缘检测和形态学操作相关代码 5.模型训练结果 6.关键信息的保存 五、实验测试与评估…

竞赛保研 机器视觉人体跌倒检测系统 - opencv python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器视觉人体跌倒检测系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&…

【蓝桥杯日记】复盘第一篇——顺序结构

&#x1f680;前言 本期是一篇关于顺序结构的题目的复盘,通过复盘基础知识&#xff0c;进而把基础知识学习牢固&#xff01;通过例题而进行复习基础知识。 &#x1f6a9;目录 前言 1.字符三角形 分析&#xff1a; 知识点&#xff1a; 代码如下 2. 字母转换 题目分析: 知…

C语言·预处理详解

1. 预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的 __FILE__ 进行编译的源文件 __LINE__ 文件当前的行号 __DATE__ 文件被编译的日期 __TIME__ 文件被编译的时间 __STDC__ 如果编译器遵循ANSI C&#xff0c;…

SpringCloud Aliba-Sentinel【下篇】-从入门到学废【6】

&#x1f929;java小课堂&#x1f929; &#x1f32d;&#x1f32d;&#x1f32d; 和 equals 的区别是什么&#xff1f;&#x1f979;&#x1f979;&#x1f979; 对于基本类型&#xff0c; 比较的是值&#xff1b;对于引用类型&#xff0c;比较的是地址&#xff1b;equals不能…

【现代密码学基础】详解完美安全与不可区分安全

目录 一. 介绍 二. 不可区分性试验 三. 不可区分性与完美安全 四. 例题 五. 小结 一. 介绍 敌手完美不可区分&#xff0c;英文写做perfect adversarial indistinguishability&#xff0c;其中adversarial经常被省略不写&#xff0c;在密码学的论文中经常被简称为IND安全。…

ICLR 2024 时间序列相关最新论文汇总,涉及transformer、GNN、大模型等热门领域

ICLR&#xff08;International Conference on Learning Representations&#xff09;&#xff0c;国际公认的深度学习顶会之一&#xff0c;与AAAI、CVPR、ACL和NIPS等老牌学术会议齐名&#xff0c;由图灵奖巨头Yoshua Bengio和Yann LeCun牵头举办&#xff0c;在人工智能、统计…

Spring | Srping AOP (AOP简介、动态代理、基于“代理类”的AOP实现)

目录: 1.Spring AOP简介1.1 AOP简介1.2 AOP术语 2.动态代理2.1 JDK动态代理2.2 CGLIB代理 3.基于“代理类”的AOP实现3.1 Spring的通知类型3.2 ProxyFactoryBean ( 可通知.xml配置文件完成aop功能 ) 1.Spring AOP简介 1.1 AOP简介 Spring的AOP模块&#xff0c;是Spring框架体系…

SpringMVC获取参数与页面跳转

获取参数 第一种 直接当成方法的参数&#xff0c;需要与前台的name一致 相当于Request.getAttribute("username") Controller 第二种 使用对象接收 页面的name也要和对象的字段一致 创建一个对应的实体类 Controller 将参数更换为User对象就行 SpringMVC获取到…

P2P DMA并不是所有场景都会有性能提升

P2P (Peer-to-Peer) DMA技术理论上可以带来性能提升&#xff0c;特别是在特定的工作负载和场景下。例如&#xff0c;当两个高速设备&#xff08;如GPU与NVMe SSD&#xff09;需要频繁进行大量数据交换时&#xff0c;通过P2P DMA&#xff0c;数据可以直接在设备间传输&#xff0…

结构体内存对齐(面试重点)

结构体内存对齐 1. 结构体类型的声明1.1 结构体的概念1.1.1 结构的声明1.1.2 结构体变量的创建和初始化 1.2 结构的特殊声明1.3 结构的自引用 2. 结构体内存对齐2.1 对齐规则2.1.1 练习1:2.1.2 练习2:2.1.3 练习3:2.1.4 练习4: 2.2 offsetof宏的使用2.3 为什么存在内存对齐?2.…

electron + selenium报错: Server terminated early with status 1

解决办法&#xff1a; 这种错误一般是浏览器创建的某方法致命错误导致的&#xff0c;查看一下实例化driver的地方有哪些配置&#xff0c;着重看日志、用执行信息存储一类的配置&#xff0c;我的问题是日志文件夹改过了但没有创建 // 浏览器参数设置 const customArguments [-…

Mac book air 重新安装系统验证显示 untrusted_cert_title

环境&#xff1a; Mac Book Air macOS Sierra 问题描述&#xff1a; Mac book air 重新安装系统验证显示 untrusted_cert_title 解决方案&#xff1a; 1.终端输入命令行输入 date 会看到一个非常旧的日期 2.更改日期为当前时间 使用以下命令来设置日期和时间&#xff1a…

java黑马学习笔记

数组 变量存在栈中&#xff0c;变量值存放在堆中。 数组反转 public class test{public static void main(String[] args){//目标&#xff1a;完成数组反转int[] arr {10,20,30,40,50};for (int i 0,j arr.length - 1;i < j;i,j--){int tep arr[j]; //后一个值赋给临时…

20240119-子数组最小值之和

题目要求 给定一个整数数组 arr&#xff0c;求 min(b) 的总和&#xff0c;其中 b 的范围涵盖 arr 的每个&#xff08;连续&#xff09;子数组。由于答案可能很大&#xff0c;因此返回答案模数 Example 1: Input: arr [3,1,2,4] Output: 17 Explanation: Subarrays are [3]…

Vision Transformer(VIT)模型介绍

计算机视觉 文章目录 计算机视觉Vision Transformer&#xff08;VIT&#xff09;Patch EmbeddingsHybrid ArchitectureFine-tuning and higher resolutionPyTorch实现Vision Transformer Vision Transformer&#xff08;VIT&#xff09; Vision Transformer&#xff08;ViT&am…

PACS医学影像采集传输与存储管理、影像诊断查询与报告管理系统,MPR多平面重建

按照国际标准IHE规范&#xff0c;以高性能服务器、网络及存储设备构成硬件支持平台&#xff0c;以大型关系型数据库作为数据和图像的存储管理工具&#xff0c;以医疗影像的采集、传输、存储和诊断为核心&#xff0c;集影像采集传输与存储管理、影像诊断查询与报告管理、综合信息…