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

[Linux] 网络文件共享服务

一、存储类型

存储类型可分为三类:DAS(直连式存储),NAS(网络附加存储),SAN(存储区域网络)。

1.1 DAS

定义:

DAS是指直连存储,即直连存储,可以理解为本地文件系统。这种设备直接连接到计算机的主板总线上,而计算机可以将其连接到常见的硬盘、U盘等块de上,这种设备很难共享。

特征:

DAS具有较低的购置成本和简单的配置。 使用过程与使用本地硬盘没有太大区别。 服务器要求只是一个外部SCSI端口,这使得它对小型企业非常有吸引力。

缺点:

  (1)数据备份操作复杂。

(2)服务器本身很容易成为系统瓶颈。

(3)服务器出现故障,无法再访问数据。

  (4)在多台服务器的系统中,设备分散,管理不方便。

1.2 NAS

定义:

NAS意味着网络区域存储,即它是network-connected.storage.It 通常,您使用本地存储空间与其他主机共享,并且通常通过C/S进行通信architecture.It 实现文件级共享。 计算机通常将共享设置识别为文件系统,其文件服务器管理锁以实现并发访问。网络文件系统以文件模块的形式共享,运行在应用层上。 常见的NAS是NFS和CIFS(FTP).

特征:

NAS实际上是一个带有瘦服务器的存储设备,这个瘦服务器实际上是一个网络文件服务器。NAS设备直接连接到TCP/IP网络,网络服务器通过TCP/IP访问管理数据network.As 一个瘦服务器系统,NAS是一个带有瘦服务器的存储设备,这个瘦服务器实际上是一个网络文件服务器。 它易于安装和部署,易于管理和使用。

缺点:

  (1)由于存储的数据是通过网络传输的,容易出现数据泄露等安全问题。

(2)存储的数据通过网络传输,因此容易受到网络上其他流量的影响。 如果网络上有其他较大的数据流量,则对系统的性能造成严重影响。

(3)存储可能会对系统效率产生严重影响,因为它只能作为文件进行访问,而不能像正常文件系统中那样作为物理数据块进行访问。 例如,大型数据库不能使用nas作为存储方案。

1.3 SAN

 定义:

SAN是运行在内核中的存储区域网络, 将其模拟为SCSI总线以使用传输网络。 每个主机的网卡对应SCSI总线中的一个发起端,服务器对应1个或多个目标。 要通过FC或TCP/IP封装SCSI数据包,它实现了块级共享,通常被识别为块设备,但需要特殊的锁管理软件来实现多主机并发访问。

特征:

SAN实际上是专门为独立于TCP/IP的存储而建立的专用网络network.At 目前,常见的SAN提供从2gb/S到4gb/S的传输速率。与此同时,由于SAN网络独立于数据网络而存在,因此访问速度非常快。 此外,SAN通常使用高端RAID阵列,因此SAN的性能在一些专业的网络存储技术中脱颖而出。由于SAN基于专用网络,因此非常方便,因为它具有非常高的可扩展性,无论您是要向SAN系统添加一定量的存储空间,还是要向使用存储空间的多个服务器

缺点:

(1)需要另建光纤网络,异地扩展比较困难。 (2)无论是SAN阵列机柜还是SAN所需的光纤通道交换机,价格都非常高。

1.4 应用场景

DAS相对较旧,但它非常适合数据量低,磁盘访问速度高的小型企业。

NAS主要适用于存储非结构化数据的文件服务器。 它受以太网速度的限制,但部署灵活,成本低。

SAN适用于大型应用和数据库系统,但缺点是成本更高,更复杂。

二、ftp协议

2.1 简介

FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

ftp默认使用TCP协议的20、21端口与客户端进行通信

20端口用于建立数据连接,并传输文件数据

21端口用于建立控制连接,并传输FTP控制命令  

2.2 ftp的数据连接模式

 主动模式:服务器主动发起数据连接

 被动模式:服务器被动等待数据连接

三、vsftpd的安装和配置

3.1 svftpd安装

 rpm -qc vsftpd    //检查vsftpd安装包是否存在,存在即不需要安装yum install -y vsftpd   //yum 安装vsftpd

 

cd /etc/vsftpd
ls                //切换到安装好vsftpd目录下查看文件

3.2  vsftpd中配置的作用 

vsftpd初始化全局配置
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES            #开启匿名用户访问。默认已开启
local_enable=YES                #允许系统用户进行访问
write_enable=YES                #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)。

四、FTP实验 

本次实验运用ftp服务,模拟实际运用场景,分别针对匿名用户访问,本地用户访问不同的管控方式和权限设置。实现安全场景下,也能进行双方传输的操作环境 

4.1 实验一 :匿名用户访问本机 

简单设置,让匿名用户拥有访问本机和各种权限 

anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES          #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES     #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES    #允许删除、重命名、覆盖等操作。需添加

 修改配置vim /etc/vsftpd/vsftpd.conf

 重启vsftpd服务,关闭安全防护 

[root CXK /etc/vsftpd] systemctl start vsftpd
[root CXK /etc/vsftpd] systemctl stop firewalld
[root CXK /etc/vsftpd] setenforce 0
[root CXK /etc/vsftpd] 
测试1 获取文件 

本访问端放入一个a.txt的文件

客户端获取文件

测试2 写入文件

为了发送的畅通,可以修改一下匿名用户访问的根目录权限

chmod 777 /var/ftp/pub/

 访问端准备一个文件,写入信息 

 

 

存在的缺点:匿名用户权限过高,存在安全隐患 

4.2  设置本地用户验证访问ftp 

4.2.1 设置本地用户可以访问ftp,禁止匿名用户登录
vim /etc/vsftpd/vsftpd.conf
local_enable=Yes        		 #启用本地用户
anonymous_enable=NO     		 #关闭匿名用户访问
write_enable=YES        		 #开放服务器的写权限(若要上传,必须开启)
local_umask=077          		 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)

systemctl restart  vsftpd

 安全隐患:本地用户访问可以随意切换目录

4.2.2 对本地用户访问切换目录进行限制 

添加切换目录的限制配置 :

vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES   		 #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES		 #允许被限制的用户主目录具有写权限

 

除此之外我们还能修改ftp服务访问时,宿主家目录,让它的家目录成为我们指定的地方

同样是修改 vsftpd.conf (在响应的版块添加即可,保存退出重启服务)

vim /etc/vsftpd/vsftpd.conf
修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html			#anon_root 针对匿名用户
local_root=/var/www/html		#local_root 针对系统用户

4.3 windows 可以通过windows的方式访问Linux主机端

 

总结: 

1. ftp的服务中有两个端口,一个20用于数据连接,一个21用户ftp传输控制指令。同时它使用的是TCP传输协议

2. ftp运用中可以又匿名登录和本地用户登录。匿名登录,没有密码限制,无法看清来访者,存在安全风险比较高。本地用户登录,也可以通过修改vsftp.conf 限制其切换目录。

 

相关文章:

[Linux] 网络文件共享服务

一、存储类型 存储类型可分为三类:DAS(直连式存储),NAS(网络附加存储),SAN(存储区域网络)。 1.1 DAS 定义: DAS是指直连存储,即直连存储,可以理解为本地文…...

二十七、W5100S/W5500+RP2040树莓派Pico<iperf 测速示例>

文章目录 1 前言2 简介2 .1 什么是网络测速技术?2.2 网络测速技术的优点2.3 网络测速技术数据交互原理2.4 网络测速应用场景 3 WIZnet以太网芯片4 示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言…...

非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)

题目环境: 没错,又是我,这群该死的黑客竟然如此厉害,所以我回去爆肝SQL注入,这次,再也没有人能拿到我的flag了 做了好多这个作者出的题了,看来又要上强度了 判断注入类型 username:a…...

创建一个用户test且使用testtab表空间及testtemp临时表空间并授予其权限,密码随意

文章目录 1、连接到数据库2、创建表空间3、创建用户4、授予权限5、测试 1、连接到数据库 sqlplus / as sysdba2、创建表空间 创建testtab表空间 CREATE TABLESPACE testtab DATAFILE /u01/app/oracle/oradata/orcl/testtab.dbf SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE …...

Linux网络应用层协议之http/https

文章目录 目录 一、http协议 1.URL 2.http协议格式 3.http的方法 4.http的状态码 5.http常见header 6.实现一个http服务器 二、https协议 1.加密 2.为什么要加密 3.常见的加密方式 对称加密 非对称加密 4.https的工作过程探究 方案1 只使用对称加密 方案2 只使…...

LLM(四)| Chinese-LLaMA-Alpaca:包含中文 LLaMA 模型和经过指令微调的 Alpaca 大型模型

论文题目:《EFFICIENT AND EFFECTIVE TEXT ENCODING FOR CHINESE LL AMA AND ALPACA》 ​论文地址:https://arxiv.org/pdf/2304.08177v1.pdf Github地址:https://github.com/ymcui/Chinese-LLaMA-Alpaca 一、项目介绍 通过在原有的LLaMA词…...

虚拟机CentOS 8 重启后不能上网

情况说明:原本虚拟机是可以上网的,然后嘚一下,重启后,连接不上网络,完了,上网查找一堆质料,我的连接方式是桥接模式(复制物理网络连接状态)。 好,有人说是vmn…...

让AI拥有人类的价值观,和让AI拥有人类智能同样重要

编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有…...

《C++避坑神器·十七》找到程序崩溃Bug的一个实用方法:dump调试

在检查程序报错除了断点调试,生成log日志,还有种直接的方法,调试dump文件,该调试方法可以在运行exe程序崩溃时进行调试。文章末尾有下载链接。 头文件 #include "crashdump.h"在mainWindow或主程序最开始处加下面代码…...

ROS stm32 CAN通信

文章目录 运行环境:原理1.1 ros中的代码1)socketcan_bridge2)测试的ros-python包3)keil5中数据解析4)USB-CAN连接5)启动指令 运行环境: ubuntu18.04.melodic STM32:DJI Robomaster C板 ROS:18.04 硬件:USB-CAN&#x…...

简单地聊一聊Spring Boot的构架

前言 本文小编将详细解析Spring Boot框架,并通过代码举例说明每个层的作用。我们将深入探讨Spring Boot的整体架构,包括展示层、业务逻辑层和数据访问层。通过这些例子,读者将更加清晰地了解每个层在应用程序中的具体作用。通过代码实例&…...

【算法】复习搜索与图论

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙请不要相信胜利就像山坡上的蒲公英一样唾手…...

【KCC@南京】KCC南京数字经济-开源行

一场数字经济与开源的视听盛宴,即将于11月26日,在南京举办。本次参与活动的有: 庄表伟(开源社理事执行长、天工开物开源基金会执行副秘书长)、林旅强Richard(开源社联合创始人、前华为开源专家)…...

苍穹外卖-day11

苍穹外卖-day11 课程内容 Apache ECharts营业额统计用户统计订单统计销量排名Top10 功能实现:数据统计 数据统计效果图: 1. Apache ECharts 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生…...

git_07_协同开发

1.作业回复 干的什么事?动了哪些东西? 文档作业xxx文档已编写完成,相关svn目录:xxx/xxx/xxx代码作业(Git代码提交规范)具体什么问题,影响范围,是否已经解决: feat(xxx):改动描述 perf(xxx):改动…...

对比国内主流开源 SQL 审核平台 Yearning vs Archery

Yearning, Archery 和 Bytebase 是目前国内最主流的三个开源 SQL 审核平台。其中 Yearning 和 Archery 是社区性质的项目,而 Bytebase 则是商业化产品。通常调研 Bytebase 的用户也会同时比较 Yearning 和 Archery。 下面我们就来展开对比一下 Yearning 和 Archery…...

Mistral 7B 比Llama 2更好的开源大模型 (三)

Mistral 7B 比Llama 2更好的开源大模型 Mistral 7B是一个70亿参数的语言模型,旨在获得卓越的性能和效率。Mistral 7B在所有评估的基准测试中都优于最好的开放13B模型(Llama 2),在推理、数学和代码生成方面也优于最好的发布34B模型(Llama 1)。Mistral 7B模型利用分组查询注…...

关于 Git 你了解多少?

1. 什么是Git? Git 是一个版本控制系统,由林纳斯托瓦兹创建。它旨在管理项目代码的更改,以便团队成员可以协作开发和维护代码库。Git 可以让用户跟踪代码的更改、回滚错误的更改、合并代码等。Git 还具有分支和标签的功能,使得团队成员可以在…...

关于Elasticsearch的自动补全、数据同步和集群,以下是相关的知识点

1. 自动补全:Elasticsearch可以通过自动补全功能帮助用户快速查找相关的内容。它使用了一种称为“completion suggester”的功能来实现自动补全,是一种基于前缀的建议查询,可以在用户输入时提供实时建议。 2. 数据同步:Elasticse…...

linux套接字-Socket

1.概念 局域网和广域网 局域网:局域网将一定区域内的各种计算机、外部设备和数据库连接起来形成计算机通信的私有网络。广域网:又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程公共网络。IPInternet Protocol)&#…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...