网络文件共享

存储类型分三类

  • 直连式存储:DAS
  • 存储区域网络:SAN
  • 网络附加存储:NAS

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
  • SAN多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
  • NAS则适用于大型应用或数据库系统,缺点是成本高、较为复杂

FTP文件传输协议

FTP简介

FTP是一种用于在计算机网络上传输文件的标准协议,基于C/S结构。
通过FTP,用户可以在客户端和服务器之间进行文件的上传(上传到服务器)和下载(从服务器下载到本地计算机)操作

FTP工作原理

主动模式:

首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是主动模式那么服务器会主动开启20端口和客户端相连,然后在传数据

被动模式:

首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是被动模式,那么服务器会随机产生一个端口号,被动等待客户机来连接再发送数据

协议:tcp

端口号:20 21 21是命令端口 20是数据端口

ftp软件:vsftpd filezilla

用户认证

  • 匿名用户:ftp,anonymous
  • 系统用户:linux用户在 /etc/passwd 密码/etc/shadow
  • 虚拟用户:只可以用来登录ftp

vsftp

[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl status vsftpd
[root@localhost ~]# rpm -qc vsftpd 
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf               #配置文件

服务端安装vsftp

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd

客户端连接服务端

[root@localhost ~]# ftp 192.168.118.20
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root): 

修改默认命令端口号

#服务端
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

listen_port=227   #修改端口号为227


[root@localhost ~]# systemctl restart vsftpd     #重启服务
#客户端
[root@localhost ~]# ftp 192.168.118.20    #修改端口号后不加端口号会拒绝连接
ftp: connect: 拒绝连接
ftp> 
[root@localhost ~]# ftp 192.168.118.20 227
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root):

NFS

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS 也是 NAS 存储 设备必然支持的一种协议

NFS原理

请添加图片描述

NFS优势

节省本地存储空间,将常用的数据如:/home目录,存放扎起NFS服务器上

通过网络访问,将减少本地磁盘的使用率

NFS软件相关

软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

相关软件包:rpcbind(必须),tcp_wrappers

yum install -y nfs-utils rpcbind #安装服务

端口:2049(nfsd), 其它端口由portmap(111)分配

RPCbind 111

NFS相关文件位置

日志

/var/lib/nfs

配置文件

/etc/exports

/etc/exports.d/*.exports

NFS共享配置文件

#文件路径
/etc/eports
#文件内容
/dir     主机1(opt,opt2)
共享文件夹        域名、ip....

vim /etc/exports
...
共享文件夹     允许访问的主机[权限]     #添加的内容

exportfs

exportfs是一个用于在 Linux 操作系统上管理 NFS(Network File System)导出的命令

-v查看本机所有NFS共享
-r重读配置文件,并共享目录
-a输出本机所有共享
-au停止本机所有共享

showmount

showmount -a显示所有共享的目录
showmount -e 服务器主机名或ip地址显示特定NFS服务器上的共享目录
showmount -l仅显示挂载点的主机名或ip地址

模拟实现NFS

#服务端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install nfs-utils rpcbind -y
[root@localhost ~]# mkdir /test
[root@localhost ~]# touch /test/t1
[root@localhost ~]# vim /etc/exports
/test 192.168.118.0/24
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e 192.168.118.20
Export list for 192.168.118.20:
/test 192.168.118.0/24
[root@localhost ~]# exportfs -v
/test         	192.168.118.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)

#客户端
[root@localhost ~]# mount 192.168.118.20:/test /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
t1




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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pyfilesystem2,一个超级实用的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超级实用的 Python 库 - pyfilesystem2。 Github地址:https://github.com/pyfilesystem/pyfilesystem2 PyFilesystem2是一个强大的Python库,用于抽象化文件系统操作。它…

静态分析-RIPS-源码解析记录-02

这部分主要分析scanner.php的逻辑,在token流重构完成后,此时ini_get是否包含auto_prepend_file或者auto_append_file 取出的文件路径将和tokens数组结合,每一个文件都为一个包含require文件名的token数组 接着回到main.php中,此时…

【GUI软件】调用YouTube的API接口,采集关键词搜索结果,并封装成界面工具!

文章目录 一、背景介绍1.1 爬取目标1.2 演示视频1.3 软件说明 二、代码讲解2.1 调用API-搜索接口2.2 调用API-详情接口2.3 API_KEY说明2.4 软件界面模块2.5 日志模块 三、获取源码及软件 一、背景介绍 1.1 爬取目标 您好!我是马哥python说,一名10年程序…

动态规划day.2

62.不同路径 链接:. - 力扣(LeetCode) 题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#…

能否直接上手 Qt ?——看完 C++ 课本后怎么做?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!如果你已经阅读了 C 课本,但仍然感到…

TMS320F28335学习笔记-时钟系统

第一次使用38225使用了普中的clocksystem例程进行编译,总是编译失败。 问题一:提示找不到文件 因为工程的头文件路径没有包含,下图的路径需要添加自己电脑的路径。 问题二 找不到库文件 例程种的header文件夹和common文件夹不知道从何而来…

7.删除有序数组中的重复项(快慢指针)

文章目录 题目简介题目解答解法一:暴力解法复杂度分析: 解法二:双指针(快慢指针)代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 相关的讲解!😀 题目简介 题目解…

【C语言 | 字符串处理】sscanf 详细介绍、使用说明以及使用例子源码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-05-08 1…

【Python爬虫】使用request和xpath爬取高清美女图片

📝个人主页:哈__ 期待您的关注 目录 🎈 urlib.request 🔥具体的方法 ✈ lxml 🔥xpath的基本语法 1. 基本路径 2. 选择节点 3. 谓语(Predicates) 4. 通配符 5. 选择多个路径 6. 函数 …

OV证书——企业网站的第一选择

据官方数据统计,从2024年开始OV证书的签发量远远超过DV证书的签发量,越来越多的企业网站摒弃了基础的DV证书,选择更高级别的OV证书。 但是其价格相对于DV证书来说要高几百甚至上千元,这里推荐性价比很高的JoySSL,他们…

邦注科技给您解答 什么是注塑机模具保护器

模具监视器,这位制造业的守护神,时刻注视着模具的每一个细微变化。它的工作原理如同一位细心的侦探,利用传感器、数据采集系统和监控软件组成的精良装备,探寻模具的秘密。 传感器如同模具的耳目,敏锐地捕捉着模具的温度…

Elasticsearch的使用

Elasticsearch 1、认识和安装 Elasticsearch的官方网站如下: https://www.elastic.co/cn/elasticsearch Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括: Elasticsearch&#xff1…

Ps 滤镜:渲染

Ps菜单:滤镜/渲染 Filter/Render “渲染”子菜单中的滤镜主要用于生成或模拟各种自然和抽象的视觉效果,这些效果通常很难通过传统的摄影或手绘技术实现。这类滤镜能够为设计师和艺术家提供强大的工具,以增强图像的视觉冲击力、创造性或实现特…

11.偏向锁原理及其实战

文章目录 偏向锁原理及其实战1.偏向锁原理2.偏向锁案例代码演示2.1.偏向锁案例代码2.2.1.无锁情况下状态2.1.2.偏向锁状态2.1.3.释放锁后的状态 2.2.偏向锁的膨胀和撤销2.2.1.偏向锁撤销的条件2.2.2.偏向锁的撤销 2.2.3.偏向锁的膨胀 2.3.全局安全点原理和偏向锁撤销性能问题2.…

Electron项目中将CommonJS改成使用ES 模块(ESM)语法preload.js加载报错

问题 将Electron项目原CommonJS语法改成使用ES 模块(ESM)语法,preload.js一直加载不到,报错如下: VM111 renderer_init:2 Unable to load preload script: D:\Vue\wnpm\electron\preload.js VM111 renderer_init:2 E…

今日刷三题(day11):不同路径的数目(一)+短距离最小路径和+把数字翻译成字符串

题目一:不同路径的数目(一) 题目描述: 一个机器人在mn大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点…

全栈开发之路——前端篇(6)生命周期和自定义hooks

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…

C#语言基础

一、复杂数据类型 1. 枚举 1.1 基本概念 1.1.1 枚举是什么 枚举是一个被命名的整型常量的集合,一般用它来表示状态、类型等等 1.1.2 申明枚举和申明枚举变量 申明枚举和申明枚举变量是两个概念 申明枚举:相当于是创建一个自定义的枚举类型 申明枚…

十大标准:评价B端系统界面美感度,你看了你也会。

美感和易用是评价B端系统用户体验的最高原则,本期从先从美感角度来分析B端界面 评价B端系统界面美感度的十大标准可以根据设计原则和用户体验来进行评估,以下是一些常见的标准: 一致性 界面元素的风格、布局和交互应该保持一致,…

Flutter连接websocket、实现在线聊天功能

老规矩效果图: 第一步:引入 web_socket_channel: ^2.4.0 第二步:封装 websocket.dart 单例 import dart:async; import dart:convert; import package:web_socket_channel/web_socket_channel.dart; import package:web_socket_channel/io.dart;class WebSocketManager {…