当前位置: 首页 > news >正文

FTP的魅力:构建高效的文件传输基础

1 ftp介绍

1.1 ftp服务器安装

dnf install vsftpd-3.0.3-31.el8.x86_64 -y # 安装ftp服务
systemctl enable --now vsftpd # 启动ftp服务
systemctl stop --now firewalld.service # 关闭防火墙,允许客户端访问

在这里插入图片描述

anonymous_enable=YES #启动匿名用户访问功能

在这里插入图片描述

1.2 客户端访问ftp

dnf install lftp -y # 在Linux中可以安装此服务,在终端访问ftp
ftp://ip        # 客户端访问ftp服务器

在这里插入图片描述
在这里插入图片描述

1.3 ftp服务器配置文件

  • 服务名称:vsftpd.service
  • 配置目录:/etc/vsftpd
  • 主配置文件:/etc/vsftpd/vsftpd.conf
  • 默认发布目录:/var/ftp
  • 报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败

2 ftp匿名用户访问控制

在这里插入图片描述
注意,关闭此功能需要重启系统

2.1 匿名用户访问

anonymous_enable=YES #启动匿名用户访问功能,默认情况不允许登录

2.2 访问家目录控制

默认情况向访问的是/var/ftp

anon_root=/westosdir # 增加此信息

在这里插入图片描述

2.3 上传控制

anon_upload_enable=YES|NO # 运行匿名用户上传文件
chmod 775 /var/ftp/pub # 修改文件权限,使得匿名用户可以写入文件
chgrp ftp /var/ftp/pub

在这里插入图片描述
在这里插入图片描述

2.4 建立目录

anon_mkdir_write_enable=YES|NO

在这里插入图片描述
报错
出现以下问题是在设置权限时候,误将ftp根目录设置为775权限,实际上应在/var/ftp/pub中设置权限。
在这里插入图片描述
在这里插入图片描述

2.5 下载权限

anon_world_readable_only=NO ##匿名用户可以下载不能读的文件,需要添加

在这里插入图片描述

2.6 删除权限

anon_other_write_enable=YES|NO

在这里插入图片描述

2.7 上传文件权限设定

2.7.1 上传文件权限设定

anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设定

2.7.2 上传文件用户身份设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644

在这里插入图片描述
在这里插入图片描述

2.8 控制登录用户数量

max_clients=2 # 同时登录用户最大两个

在这里插入图片描述

2.9 控制文件上传速度

anon_max_rate=102400 # 100M

在这里插入图片描述

3 ftp本地用户的访问

3.1 登陆控制

local_enable=NO|YES 	#默认本地用户可以登录

在这里插入图片描述

在这里插入图片描述

3.2 家目录控制

local_root=/software # 增添内容

在这里插入图片描述

3.3 写权限控制

write_enable=NO|YES # 是否可以写入文件

在这里插入图片描述

3.4 上传文件权限控制

local_umask=077 # 控制上传文件的权限,预留权限

3.5 用户登陆控制

/etc/vsftpd/ftpusers 永久黑名单用户

在这里插入图片描述

/etc/vsftpd/user_list 默认情况下该名单是临时黑名单,修改参数后为白名单用户。
在这里插入图片描述

在这里插入图片描述

3.6 用户锁定自己家目录(安全隐患)

默认情况下,用户可以访问根目录,这样对于系统是不安全的,需要进行限制。
在这里插入图片描述

3.6.1 锁定用户到自己的家目录中

chroot_local_user=YES # 开启此功能后,所有用户被锁定在家目录中
chmod u-w /home/*  # 删除写权限

在这里插入图片描述
在这里插入图片描述

3.6.2 锁定用户到自己的家目录中的白名单

默认用户是不可以访问根目录等位置,名单中的人可以访问

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 白名单

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6.3 锁定用户到自己的家目录中的黑名单

默认用户是可以访问根目录等位置,名单中的人不可以访问

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 黑名单

在这里插入图片描述

4 ftp虚拟用户访问

rpm -qc vsftpd # 显示程序的配置文件

在这里插入图片描述

4.1 虚拟用户介绍

对于ftp服务安全问题,应该只能让他访问相应的文件,而不是访问文件的同时也具备本地用户相应的资源,所以需要创建虚拟用户。

4.1.1 虚拟用户认证文件

 /etc/vsftpd/xxx # 自定义虚拟用户文件,第一行用户名,下一行密码db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件

在这里插入图片描述

4.1.2 虚拟用户认证机制

/etc/pam.d/xxx   # 自定义认证机制文件
pam_service_name=xxx ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.2 虚拟用户家目录的独立设定

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf 
local_root=/ftpfile/$USER
user_sub_token=$USER

在这里插入图片描述
在这里插入图片描述

4.3 用户配置独立

mkdir /etc/vsftpd/user_config # 虚拟用户独立的设置文件
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件,在主配置文件中添加此信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

FTP的魅力:构建高效的文件传输基础

1 ftp介绍 1.1 ftp服务器安装 dnf install vsftpd-3.0.3-31.el8.x86_64 -y # 安装ftp服务 systemctl enable --now vsftpd # 启动ftp服务 systemctl stop --now firewalld.service # 关闭防火墙,允许客户端访问anonymous_enableYES #启动匿名用户访问功能1.2 客户…...

70、window11+visual studio2019+共享内存进行数据传输

基本思想:服务端和客户端 写共享内存 #include <windows.h> #include <iostream> using namespace std;HANDLE g_EventRead; // 读信号灯 HANDLE g_EventWrite; // 写信号灯 // 定义共享数据class Writer { public:Writer(const int buf_size, const wchar_t…...

SSTI模板注入(flask) 学习总结

文章目录 Flask-jinja2 SSTI 一般利用姿势SSTI 中常用的魔术方法内建函数 利用 SSTI 读取文件Python 2Python 3 利用 SSTI 执行命令寻找内建函数 eval 执行命令寻找 os 模块执行命令寻找 popen 函数执行命令寻找 importlib 类执行命令寻找 linecache 函数执行命令寻找 subproce…...

最近的工作和生活

大家好&#xff0c;我是记得诚。 聊一聊最近的工作和生活。 不知不觉在管理岗位&#xff0c;快干一年了。技术管理还是比较纯粹&#xff0c;主要还是以解决问题为主&#xff0c;对自己的考验也更大了&#xff0c;要关注更广的技术&#xff0c;也要专注更深的技术细节。 技术…...

第六节:Word中对象的层次结构

《VBA之Word应用》&#xff08;10178982&#xff09;&#xff0c;是我推出第八套教程&#xff0c;教程是专门讲解VBA在Word中的应用&#xff0c;围绕“面向对象编程”讲解&#xff0c;首先让大家认识Word中VBA的对象&#xff0c;以及对象的属性、方法&#xff0c;然后通过实例让…...

ARJ_DenseNet BMR模型训练

废话不多数&#xff0c;模型训练代码 densenet_arj_BMR.py &#xff1a; import timefrom tensorflow.keras.applications.xception import Xception from tensorflow.keras.applications.densenet import DenseNet169 from tensorflow.keras.preprocessing.image import Im…...

React之Hook

一、是什么 Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 至于为什么引入hook&#xff0c;官方给出的动机是解决长时间使用和维护react过程中常遇到的问题&#xff0c;例如&#xff1a; 难以重用和共享组件中的与状态…...

OSG嵌入QT的简明总结2

正文 我之前在这篇博文《OSG嵌入QT的简明总结》中论述了OSG在QT中显示的可视化问题。其中提到官方提供的osgQt项目&#xff08;地址&#xff1a;https://github.com/openscenegraph/osgQt &#xff09;很久前已经更新了。但是我一直没有时间同步更新&#xff0c;最近重新尝试了…...

日常中msvcp71.dll丢失怎样修复?分享5个修复方法

在 Windows 系统中&#xff0c;msvcp71.dll 是一个非常重要的动态链接库文件&#xff0c;它承载了许多应用程序和游戏的运行。如果您的系统中丢失了这个文件&#xff0c;那么您可能会遇到无法打开程序、程序崩溃或出现错误提示等问题。本文将介绍 5 个快速修复 msvcp71.dll 丢失…...

【腾讯云TDSQL-C Serverless 产品体验】使用 Python向TDSQL-C添加读取数据实现词云图

关于TDSQL-C Serverless介绍 TDSQL-C 是腾讯云自主研发的新一代云原生关系型数据库。 它融合了传统数据库、云计算和新硬件技术的优势,100%兼容 MySQL,为用户提供具有极致弹性、高性能、高可用性、高可靠性和安全性的数据库服务。 TDSQL-C 实现了超过百万每秒的高吞吐量,支持…...

服务器感染了.360、.halo勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 数据的安全性至关重要&#xff0c;但威胁不断进化&#xff0c;.360、.halo勒索病毒是其中的令人担忧的勒索软件。本文91数据恢复将深入介绍.360、.halo勒索病毒&#xff0c;包括其威胁本质、数据恢复方法和如何采取预防措施来保护您的数据。 如果受感染的数据…...

BAT028:批量将文件修改日期后缀更新为最新修改日期

引言&#xff1a;编写批处理程序&#xff0c;实现批量将文件修改日期后缀更新为最新修改日期。 一、新建Windows批处理文件 参考博客&#xff1a; CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件&#xff0c;点击【…...

Visual Studio C++ 的 头文件和源文件

在Visual Studio C中&#xff0c;头文件&#xff08;Header Files&#xff09;和源文件&#xff08;Source Files&#xff09;是两种不同的文件类型&#xff0c;用于组织和管理C代码。 头文件&#xff08;Header Files&#xff09;&#xff1a; 后缀名为.h或.hpp的文件&#xf…...

Scrapy框架中的Middleware扩展与Scrapy-Redis分布式爬虫

在爬虫开发中&#xff0c;Scrapy框架是一个非常强大且灵活的选择。在本文中&#xff0c;我将与大家分享两个关键的主题&#xff1a;Scrapy框架中的Middleware扩展和Scrapy-Redis分布式爬虫。这些主题将帮助你更好地理解和应用Scrapy框架&#xff0c;并提升你的爬虫开发技能。 …...

[论文笔记]Sentence-BERT[v2]

引言 本文是SBERT(Sentence-BERT)论文1的笔记。SBERT主要用于解决BERT系列模型无法有效地得到句向量的问题。很久之前写过该篇论文的笔记,但不够详细,今天来重新回顾一下。 BERT系列模型基于交互式计算输入两个句子之间的相似度是非常低效的(但效果是很好的)。当然可以通过…...

虚拟机ubantu系统突然重启失去网络

1.进入 root用户 cd /var/lib/NetworkManager然后查看网络服务状态 如果网络状态和我一样不可用 ,就先停止网络服务 service ModemManager stop#删除状态rm networker.stateservice ModemManager start此时右上交的网络标志回复正常...

三款经典的轮式/轮足机器人讲解,以及学习EG2133产生A/B/C驱动电机。个人机器人学习和开发路线(推荐)

1&#xff0c;灯哥开源&#xff08;有使用指南&#xff0c;适合刚入门新手&#xff09; 机械部分&#xff1a;2个foc无刷电机 硬件和软件部分&#xff1a;没有驱动板子。只有驱动器&#xff0c;主控板esp32和驱动器通过pwm直接通讯。驱动器板子上有蓝色电机接口&#xff0c;直…...

apache开启https

本文基于windows平台。 个人感觉使用apache配置起来比较繁琐&#xff0c;而使用upupw或者xmpp等集成开发工具更方便。 在httpd.conf中&#xff0c;将下一行的注释去掉&#xff1a;LoadModule ssl_module modules/mod_ssl.so。另外&#xff0c;千万不要注释掉下面的一行&#…...

绝地求生游戏缺少msvcp140.dll丢失打不开怎么办?这6个方法都能修复

计算机系统中&#xff0c;我们经常遇到各种错误和问题。其中&#xff0c;“MSCVCP140.DLL丢失”是一个常见的错误&#xff0c;它通常出现在运行某些程序或游戏时。这个DLL文件是Microsoft Visual C 2015 Redistributable的一部分&#xff0c;如果它丢失或损坏&#xff0c;可能会…...

【广州华锐互动】石油钻井井控VR互动实训系统

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐渗透到各个领域&#xff0c;为人们的生活和工作带来了前所未有的便利。在石油钻井行业&#xff0c;VR技术的应用也日益受到重视&#xff0c;为钻井工人提供了更加安全、高效的培训方式。 广州华锐…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...