Linux学习第十九节-NFS网络文件系统

news2024/11/25 13:22:06

1.NFS概念

NFS(Network File System)网络文件系统 , 是一种基于TCP/UDP传输协议的文件共享服务。

NFS基于C/S架构,服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。

NFS基于RPC 远程过程调用机制, 支持在异构系统之间数据的传送 , RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作

NFS协议:端口号 2049

软件包:nfs-utils

服务名:nfs

配置文件:/etc/exports

RPC协议:端口号 111

软件包:rpcbind

服务名:rpcbind

2.NFS服务端配置192.168.1.66(需要关闭防火墙)

①安装nfs服务端软件包

[root@localhost ~]# yum -y install nfs-utils

②启动nfs服务

[root@localhost ~]# systemctl start nfs-server.service  

[root@localhost ~]# systemctl enable nfs-server.service

③查看服务端口信息

[root@localhost ~]# ss -anptul | grep 2049

或者[root@localhost ~]# netstat -ntlp | grep 2049

④查看RPC服务端口信息

[root@localhost ~]# ss -anptul | grep rpcbind

或者[root@localhost ~]# netstat -ntlp | grep rpcbind

⑤创建共享目录

[root@localhost ~]# mkdir /upload

⑥修改nfs主配置文件:/etc/exports

 [root@localhost ~]# vim /etc/exports

#格式:共享文件夹路径 客户机地址(权限) 客户机地址(权限) 

/upload 192.168.1.89/24(rw) 192.168.1.90/24(ro) #指定客户机地址(权限) 

/upload 192.168.1.0/24(rw)            #共享给指定网段(权限) 

⑦重启nfs服务

[root@localhost ~]# systemctl restart nfs-server.service 

3.客户端配置192.168.1.89

列出有哪些NFS共享资源:showmount -e 服务器地址,如果客户端没有该命令需安装nfs-utils

[root@localhost ~]# yum -y install nfs-utils

[root@localhost ~]# systemctl start nfs-server.service

[root@localhost ~]# systemctl enable nfs-server.service

[root@client ~]# showmount -e 192.168.1.66

手动挂载NFS共享:mount

[root@client ~]# mkdir /opt/upload

[root@client ~]# mount 192.168.1.66:/upload /opt/upload

服务器地址:文件夹路径 挂载点

[root@client ~]# df -h

③客户端实现开机挂载配置:/etc/fstab

[root@localhost]# vim /etc/fstab

192.168.1.66:/xxx /mnt/xxx nfs defaults,_netdev 0 0

服务器地址:文件夹路径 挂载点 文件系统 defaults,_netdev 0 0

解释:_netdev:指定nfs是网络设备

[root@localhost]# mount -a

④客户端验证是否可以是否共享目录

[root@client ~]# cd /opt/upload/

[root@client upload]# touch xx.txt

touch: 无法创建"xx.txt": 权限不够

(解释:默认客户端是以nfs用户身份访问远端的nfs服务器,如果nfs服务端共享的目录属主为root用户,那客户端默认是没有写权限)

⑤服务端开放允许以root身份访问

[root@localhost ~]# vim /etc/exports

/upload 192.168.1.89/24(no_root_squash,rw) 192.168.1.90/24(ro)

(解释:no_root_squash 不挤压root用户身份(允许以root身份访问))

[root@localhost ~]# systemctl restart nfs-server.service 

⑥客户端验证

[root@client upload]# touch xx.txt

[root@client upload]# ls

xx.txt

⑦在192.168.1.66上为普通用户授权访问nfs共享目录(通过ACL实现,nfs通过用户UID辨别用户身份) 

[root@localhost ~]# setfacl -m u:lisi:rwx /upload

⑧在192.168.1.66上设置SBIT权限

[root@localhost ~]# chmod o+t /upload/

⑨客户端lisi用户验证授权

[lisi@client upload]$ touch lisi.txt

[lisi@client upload]$ ls

lisi.txt xx.txt

[lisi@client upload]$ rm -rf xx.txt

rm: 无法删除"xx.txt": 不允许的操作

4.NAS知识点简单介绍

(网络附加存储)存储模式中的文件共享服务 

samba文件共享服务:支持跨平台

FTP文件共享服务:支持跨平台

NFS文件共享服务:支持跨平台

DAS存储(直连存储):直接附加在电脑主板上的硬盘

SAN存储(存储区域网络):块级别存储,把自己电脑上的硬盘共享给其他主机

 

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

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

相关文章

idea downloading spring initializer下不来

图中url输入:https://plugins.jetbrains.com/ 原先是https://start.spring.io

Rust Web入门(六):服务器端web应用

本教程笔记来自 杨旭老师的 rust web 全栈教程,链接如下: https://www.bilibili.com/video/BV1RP4y1G7KF?p1&vd_source8595fbbf160cc11a0cc07cadacf22951 学习 Rust Web 需要学习 rust 的前置知识可以学习杨旭老师的另一门教程 https://www.bili…

使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)

1.Swingbench 简介 Swingbench 是一个免费负载生成器(和基准测试),旨在对 Oracle 数据库 进行压力测试。目前最新版本 Swingbench 2.6。 SwingBench 由负载生成器,协调器和集群概述组成。该软件可以生成负载 并绘制交易/响应时间…

Vector - CAPL - Write窗口常用函数

在CAPL自动化开发中,特别是通过Vector CAPL Browser开发中,最终都是通过仿真节点来进行最终的测试,然而这种测试方式没有自动化执行过程报告,只能通过最后的html报告来查看执行过程,那我们是否有更好的调试方法呢?当然是有的,那就是write窗口,通过该窗口我们不但可以打…

【SpringBoot高级篇】SpringBoot集成jasypt 配置脱敏和数据脱敏

【SpringBoot高级篇】SpringBoot集成jasypt数据脱敏配置脱敏使用场景配置脱敏实践数据脱敏pomymlEncryptMethodEncryptFieldEncryptConstantEncryptHandlerPersonJasyptApplication配置脱敏 使用场景 数据库密码直接明文写在application.yml配置中,对安全来说&…

神垕古镇景区5A级十年都没有实现的三大主因

钧 瓷 内 参 第40期(总第371期) 2023年3月5日 神垕古镇景区5A级十年都没有实现的三大主因 这是2013年,禹州市市政府第一次提出创建5A级景区到今年三月份整整十年啊! 目前神垕古镇景区是4A级景区,5A级一直进行中&a…

使用去中心化存储构建网站

今天的大多数网站都遵循后端服务器到前端代码的架构。但在 Web3 应用程序中,前端代码不具有与受智能合约保护的后端代码相同的去中心化性和弹性。那么如何使网站像智能合约一样具有弹性呢? 该体系结构似乎很简单: 创建一个没有服务器的静态…

CorelDRAWX4的VBA插件开发(四十四)建立类(1)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线

这次主要来浅讲一下"类"这个功能,先上一下要实现的功能,建立设计外框加出血线和等分折页线,先上图 那什么是类呢?类其实就是CLASS,用来封装成员参数和函数的,拆开来里面就是这些东西,那写起来其实也没有什么区别,那既然都是参数和函数,那类的出现有什么意义呢.那我…

聚观早报 | 京东百亿补贴今日上线;微软推出全能型人工智能模型

今日要闻:京东“百亿补贴”今日全面上线;小鹏回应人脸识别需对车头半跪;微软推出全能型人工智能模型;雷军建议构建完善汽车数据安全管理体系;苹果、Meta已向国内Micro LED企业下单京东“百亿补贴”今日全面上线 3 月 6…

创建springboot项目文件报红

目录 一、遇到问题 二、出现这个问题的原因 三、解决办法 三种方法 四、操作步骤 一、遇到问题 创建springboot项目的时候,会发现一些重要文件都变成红色了,但是不影响程序的运行。只是看起来会有点不舒服。 二、出现这个问题的原因 因为这个spr…

初识虚拟DOM渲染器

初识虚拟DOM渲染器什么是虚拟DOM什么是渲染器渲染器的实现组件是什么什么是虚拟DOM 首先简单说一下什么是虚拟DOM&#xff0c;虚拟DOM就是一个描述真实DOM的JS对象 例如&#xff1a; 真实的DOM元素 <div onClick"alert(click me)">click me</div>可以…

12 结构:如何系统设计框架的整体目录?

到现在&#xff0c;我们已经将 Gin 集成到框架 hade 中&#xff0c;同时又引入了服务容器和服务提供者&#xff0c;明确框架的核心思想是面向服务编程&#xff0c;一切皆服务&#xff0c;所有服务都是基于协议。后续也会以服务的形式&#xff0c;封装一个个的服务&#xff0c;让…

ESP-C2系列模组开发板简介

C2是一个芯片采用4毫米x 4毫米封装&#xff0c;与272 kB内存。它运行框架&#xff0c;例如ESP-Jumpstart和ESP造雨者&#xff0c;同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统&#xff0c;受到了全球用户的信赖。它由支持Espressif以及所有…

空间复杂度与顺序表的具体实现操作(1)

最近更新的少&#xff0c;主要是因为参加了ACM竞赛空间复杂度空间复杂度也是一个数学表达式&#xff0c;是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用了多少bytes的空间&#xff0c;因为这个也没太大意义&#xff0c;所以空间复杂度算的是变量…

项目使用windows-root证书

项目使用windows-root证书 将证书导入到本地计算机 方式1&#xff1a;使用windows-root证书配置流程(计算机本地) 输入命令(mmc)&#xff0c;进入控制台管理窗口 点击“文件”》“添加或删除管理单元”&#xff0c;进入如下界面 双击证书&#xff0c;选择“计算机账户”…

Swagger生成接口在线文档

OpenAPI规范&#xff08;OpenAPI Specification 简称OAS&#xff09;是Linux基金会的一个项目&#xff0c;试图通过定义一种用来描述API格式或API定义的语言&#xff0c;来规范RESTful服务开发过程&#xff0c;目前版本是V3.0&#xff0c;并且已经发布并开源在github上。&#…

C++核心编程<类和对象>(4)

C核心编程<类和对象>4.类和对象4.1封装4.1.1封装的意义封装的意义1封装的意义24.1.2struct和class区别4.1.3成员属性设置为私有4.2对象的初始化和清理4.2.1构造函数和析构函数1.1构造函数语法&#xff1a;类名(){}1.2析构函数语法&#xff1a; ~类名(){}4.2.2构造函数的分…

【JUC2022】第七章 AQS、ReentrantReadWriteLock 和 StampedLock

【JUC2022】第七章 AQS 文章目录【JUC2022】第七章 AQS一、AQS1.概述2.同步器3.抽象的4.队列式二、ReentrantReadWriteLock1.概述2.案例3.存在的问题三、StampedLock1.概述2.案例3.存在的问题一、AQS 1.概述 AQS(AbstractQueueSynchronizer&#xff0c;抽象的队列式同步器)&am…

tesseract -图像识别

下载链接&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/如下选择最新的版本&#xff0c;这里我选择tesseract-ocr-w64-setup-5.3.0.20221222.exe有如下python模块操作tesseractpyocr 国内源&#xff1a;pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ py…

ThreadLocal 学习常见问题

ThreadLocal 这个此类提供线程局部变量。这些变量不同于通常的对应变量&#xff0c;因为每个访问一个变量的线程(通过 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是希望将状态与线程(例如&#xff0c;用户 ID 或事务 ID)关联的类中的私有静态字段。使…