Linux网络文件共享服务之NFS

目录

一、NFS简介

1、NFS协议

2、NFS存储

3、NFS原理

4、NFS相关软件介绍

5、NFS配置文件

二、exportfs和showmount命令

三、搭建NFS服务器

1、搭建过程

​2、客户端权限问题

2.1 权限参数说明

2.2 配置客户端的读写权限

2.3 创建文件的属主和属组权限

2.4 客户端创建文件都指向同一属主和属组


一、NFS简介

1、NFS协议

NFS(Network File System)是一种基于 TCP/IP 传输的网络文件系统协议,允许在网络上的不同计算机之间共享文件和目录。它最初由Sun Microsystems开发,现在已成为许多Unix和Linux操作系统的标准文件系统之一

2、NFS存储

NFS存储是一种通过NFS协议将存储设备共享给其他计算机使用的存储解决方案

NFS存储可以是任何支持NFS协议的存储设备,例如NAS(网络附加存储)设备、SAN(存储区域网络)设备或者直接连接到网络的硬盘驱动器

NFS存储通常用于以下场景:

  • 文件共享:NFS存储可以将存储设备中的文件共享给其他计算机,从而方便了文件的共享和协作
  • 数据备份:NFS存储可以用于数据备份,将数据备份到NFS存储设备中,从而实现数据的冗余存储和灾备恢复
  • 数据存储:NFS存储可以用于数据存储,将数据存储到NFS存储设备中,从而实现数据的集中管理和统一访问

NFS存储的优点是:

  • 灵活性:NFS存储可以根据需要进行扩展和配置,从而满足不同的存储需求
  • 可靠性:NFS存储使用缓存技术和文件锁定机制,可以提高文件访问的效率和可靠性
  • 跨平台:NFS存储支持多种操作系统,包括Unix、Linux和Windows等,这使得不同平台之间的存储共享变得更加容易
  • 管理简单:NFS存储可以通过简单的配置和管理工具进行管理,从而降低了管理成本。

NFS存储缺点:

  • 性能:NFS存储的性能受到网络带宽和延迟的影响,因此在高延迟和低带宽的网络环境中,可能会出现性能问题
  • 可靠性:NFS存储的可靠性受到网络连接的影响,如果网络连接不稳定,可能会导致存储共享的不可靠性。

综上所述,NFS存储作为一种存储解决方案,具有许多优点和一些缺点,需要根据实际需求进行选择和配置

3、NFS原理

NFS通过将文件共享给其他计算机,使得不同计算机之间的文件共享变得更加容易。它使用RPC协议进行通信,使用缓存技术和文件锁定机制提高文件访问的效率和可靠性

①NFS服务器将共享的文件和目录挂载到其文件系统中的特定位置

②NFS客户端通过网络访问NFS服务器共享的文件和目录。客户端可以像访问本地文件系统一样访问这些共享文件和目录

③当NFS客户端需要访问共享的文件或目录时,它会向NFS服务器发送RPC调用请求,NFS服务器会响应这些请求并返回所请求的数据

4、NFS相关软件介绍

NFS服务器软件:

  • nfsd:Linux系统中内置的NFS服务器软件,负责提供NFS共享服务,端口号不固定
  • FreeNFS:一个开源的Windows NFS服务器软件,用于在Windows系统上提供NFS共享服务

NFS客户端软件:

  • nfs-utils:包含了Linux系统上的NFS客户端工具,如mount.nfsumount.nfs
  • Windows Services for UNIX:这个软件包含了Windows系统上的NFS客户端工具,允许Windows系统连接到NFS共享

rpcbind软件:

  • 当一个RPC服务启动时,rpcbind会为其分配一个唯一的端口号(111),并在本地的映射表中进行记录
  • 端口号查询: 当客户端需要调用远程RPC服务时,它可以向rpcbind查询目标服务的端口号,以便建立连接

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

  • rpc.lockd 非必要,管理文件锁,避免同时写出错

  • rpc.statd 非必要,检查文件一致性,可修复文件

5、NFS配置文件

/etc/exports:一个用于配置NFS共享的文件,包含了要与其他计算机共享的目录以及相关的访问控制信息。在这个文件中,可以指定哪些目录应该被共享,以及允许哪些计算机访问这些共享目录以及以怎样的权限进行访问。每一行通常包含一个共享目录的信息,包括共享路径、允许访问的主机或子网、以及访问权限等

#/etc/exports文件格式:#共享目录       可以访问的主机地址(权限)
/share            *()#共享目录     网段     读写,同步,无root权限
/share  172.16.12.0/24(rw,sync,no_root_squash)

/etc/exports.d/*.exports:一个包含多个 .exports 文件的目录。每个 .exports 文件对应一个独立的NFS共享配置

/var/lib/nfs/:日志目录,用于存储NFS服务器的运行时数据和状态信息

二、exportfs和showmount命令

exportfs:用于管理NFS导出的文件系统  

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

showmount:显示NFS服务器加载的信息

选项说明
-e显示服务器上所有的共享目录

三、搭建NFS服务器

1、搭建过程

前提:关闭防火墙和临时防护

systemctl   stop  firewalld      #关闭防火墙
setenforce  0                    #关闭临时防护

要求:准备两个设备,服务端:172.16.12.10 和 客户端:172.16.12.12

#服务端和客户端都需要安装软件包
[root@localhost ~]# yum install nfs-utils.x86_64 rpcbind -y*******************************************************************
#服务端操作
[root@localhost ~]# mkdir /share     #新建共享目录
[root@localhost ~]# cd /share/       #切换到共享目录下
[root@localhost share]#echo "welcome to DNS">test    #写入一些内容给供客户端读取​#编辑配置文件
[root@localhost share]# vim /etc/exports
/share *
[root@localhost share]#showmount -e      #查看本机发布的NFS共享目录
[root@localhost share]#exportfs -r    #重读配置文件
[root@localhost share]#exportfs -v    #查看详细的nfs信息*******************************************************************
#客户端操作
#临时挂载,重启后实效
[root@localhost ~]#mount 172.16.12.10:/share /mnt   #挂载服务器至本地文件夹
[root@localhost ~]#df -Th      #查看是否挂载成功
#永久挂载,写入/etc/fstab配置文件
[root@localhost ~]#vim /etc/fstab
172.16.12.10: /share   /mnt   nfs   defaults  _netdev  0   0
#IP地址:/共享文件名   #挂载点   #文件类型   #权限   #无网不加载  #不备份 #不检查
#两种挂载方式选其中一种即可​*******************************************************************
#测试
#客户端操作
[root@localhost ~]#cd /mnt
[root@localhost mnt]#cat test    #读取共享文件

①服务端操作 

②客户端操作:

2、客户端权限问题

2.1 权限参数说明

2.2 配置客户端的读写权限

客户端默认权限为只读模式,也就是说不配置客户端的读写权限,客户端就无法创建、修改文件

 ①需要配置dns软件的读取权限

 ②文件系统需要读取权限

③现在客户端可以创建、修改文件

2.3 创建文件的属主和属组权限

①默认情况下:

以客户端的管理员用户创建文件时,该文件的属主和属组都是nfsnobody

注:

这是因为配置文件里默认root_squash权限,客户端的管理员用户被压榨权限成为nfsnobody

以客户端的其他用户创建文件时,该文件的属主和属组都是该用户自己

②修改客户端管理员用户创建文件的权限,使之创建的文件属主和属组都是root

服务端修改配置文件

此时客户端创建文件的属主和属组都是root

2.4 客户端创建文件都指向同一属主和属组

如何将客户端新建文件都指定同一用户,需要设置anonuid 和 anongid

指明客户端用户映射为特定用户UID和组GID,而非其他用户,可配合all_squash使用

①服务端操作:首先创建一个新用户并指定uid号

②服务端操作:修改配置文件

③ 验证,查看权限是否设置成功

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

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

相关文章

供应链|库存定位的高效策略:如何巧妙调换安全库存换取服务速度?

论文作者:Hanzhang Qin, David Simchi-Levi, Ryan Ferer, Jonathan Mays, Ken Merriam, Megan Forrester, Alex Hamrick 论文解读者:马玺渊 王艺桦 编者按 本次解读的文章发表于 Production and Operations Management,原文信息:…

vs2022配置OpenCV测试

1,下载Opencv安装包 OpenCV官网下载地址:Releases - OpenCV 大家可以按需选择版本进行下载,官网下载速度还是比较慢的,推荐大家使用迅雷进行下载 下载安装包到自定义文件夹下 双击安装 按以下图示进行安装 2、 添加环境变量 打…

Servlet项目教学(附实例代码)

【员工信息管理】 1.员工信息管理 1.1 介绍 用户进行登录后,可以对员工信息进行管理(增删查改),等操作.如果用户没有登录,不能访问员工操作页面.并且员工操作页面显示当前登录用户信息. 1.2 技术点 使用VueElementUI充当前端界面,使用ServletJDBCMysql提供数据管理控制.后端统…

二次开发在线预约上门服务、预约到家系统 增加开发票功能 轮播图链接跳转 uniapp代码

客户具体要求: 1、在我的个人中心里面增加一个 开票功能,点击进去之后可以查看到能开票的订单列表,如果是个人是填写姓名电话邮箱,就是填写单位名称 税号 邮箱,提交申请到后台审核,如果审核通过后线下人工…

各种设备上恢复已删除的文件和文件夹的数据恢复软件清单

最好的数据恢复软件可以简单轻松地恢复计算机、移动设备或存储介质上已删除的文件和文件夹。 询问任何经历过数据丢失的人这是否是一种有趣的经历,他们会告诉您数据丢失,无论是由于硬件或软件故障、意外删除还是网络犯罪,都会带来极大的压力…

高精度算法笔记

目录 加法 减法 乘法 除法 高精度加法的步骤&#xff1a; 1.高精度数字利用字符串读入 2.把字符串翻转存入两个整型数组A、B 3.从低位到高位&#xff0c;逐位求和&#xff0c;进位&#xff0c;存余 4.把数组C从高位到低位依次输出 1.2为准备 vector<int> A, B, C…

接近8000字的SpringSpring常用注解总结!安排

接近8000字的Spring/Spring常用注解总结&#xff01;安排 为什么要写这篇文章&#xff1f; 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多&#xff0c;我看了文章内容之后属实觉得质量有点低&#xff0c;并且有点会误导没有太多实际使用经验的人&#xff…

如何用AI提高论文阅读效率?

已经2024年了&#xff0c;该出现一个写论文解读AI Agent了。 大家肯定也在经常刷论文吧。 但真正尝试过用GPT去刷论文、写论文解读的小伙伴&#xff0c;一定深有体验——费劲。其他agents也没有能搞定的&#xff0c;今天我发现了一个超级厉害的写论文解读的agent &#xff0c…

UML-实现图(组件图和部署图)

实现图是从系统的层次来描述的&#xff0c;描述硬件的组成和布局&#xff0c;描述软件系统划分和功能实现。 UML-实现图&#xff08;组件图和部署图&#xff09; 一、组件图1.组件图的元素&#xff08;1&#xff09;组件&#xff08;2&#xff09;接口&#xff08;3&#xff09…

为什么要将应用微服务化

上古时期的高可用架构 其实在十多年前&#xff0c;“架构师”并不是一个需求很大的职业&#xff0c;一来那时还没有“全民App”级别的应用&#xff0c;除了三大门户网站以外&#xff0c;其他的网上应用业务压力并不大;二来也没有现如今这么丰富的技术选型&#xff0c;几乎清一…

LINUX基础培训九之网络管理

前言、本章学习目标 了解LINUX网络接口和主机名配置的方法熟悉网络相关的几个配置文件了解网关和路由熟悉网络相关的命令使用 一、网络IP地址配置 在Linux中配置IP地址的方法有以下这么几种&#xff1a; 1、图形界面配置IP地址&#xff08;操作方式如Windows系统配置IP&…

快速入门Torch构建自己的网络模型

真有用构建自己的网络模型 读前必看刚学完Alex网络感觉很厉害的样子&#xff0c;我也要搭建一个可以看着网络结构实现上面的代码你已经很强了&#xff0c;千万不要再想实现VGG等网络&#xff01;&#xff01;&#xff01;90%你能了解到的模型大佬早已实现好&#xff0c;直接调用…

MFC CAsyncSocket类作为客户端示例

之前写过CAsyncSocket类使用的博客;进一步看一下; VS新建一个MFC 对话框工程; 添加一个类,从CAsyncSocket继承,起个自己的名字; 对话框添加几个编辑框,按钮,静态控件; 为自己的CxxxAsyncSocket类添加重写的虚函数,OnConnect、OnReceive、OnSend; 自己的CAsyncSoc…

pytorch一致数据增强—独用增强

前作 [1] 介绍了一种用 pytorch 模仿 MONAI 实现多幅图&#xff08;如&#xff1a;image 与 label&#xff09;同用 random seed 保证一致变换的写法&#xff0c;核心是 MultiCompose 类和 to_multi 包装函数。不过 [1] 没考虑各图用不同 augmentation 的情况&#xff0c;如&am…

生物制药厂污水处理需要哪些工艺设备

生物制药厂是一种特殊的工业场所&#xff0c;由于其生产过程中涉及的有机物较多&#xff0c;导致废水中含有高浓度的有机物和微生物等污染物&#xff0c;因此需要采用一些特殊的工艺设备来进行污水处理。本文将介绍生物制药厂污水处理中常用的工艺设备。 首先&#xff0c;对于生…

【面试合集】说说微信小程序的支付流程?

面试官&#xff1a;说说微信小程序的支付流程&#xff1f; 一、前言 微信小程序为电商类小程序&#xff0c;提供了非常完善、优秀、安全的支付功能 在小程序内可调用微信的API完成支付功能&#xff0c;方便、快捷 场景如下图所示&#xff1a; 用户通过分享或扫描二维码进入商…

2024年华数杯国际赛赛题浅析

21号完赛&#xff0c;28号出成绩的华数杯国际赛&#xff0c;作为美赛最合适的练手赛正式开赛。为了让大家更好地比赛&#xff0c;首先为大家带来本次竞赛两道题目的浅要解析。主要分析两道题目适合的群体&#xff0c;未来大家求解过程中可能遇到的问题。方便大家快速完成选题。…

农业四情监测管理系统的特点优势

TH-Q2农业四情监测管理系统是一种利用现代信息技术&#xff0c;对农业生产中的墒情、苗情、虫情、灾情进行实时监测和管理的智能化系统。那么&#xff0c;这个系统到底有哪些特点和优势呢&#xff1f;让我们一起来了解一下。 1.实时监测&#xff1a;通过传感器、摄像头等设备&a…

美国智库发布《用人工智能展望网络未来》的解析

文章目录 前言一、人工智能未来可能改善网络安全的方式二、人工智能可能损害网络安全的方式三、人工智能使用的七条建议四、人工智能的应用和有效使用AI五、安全有效地使用人工智能制定具体建议六、展望网络未来的人工智能&#xff08;一&#xff09;提高防御者的效率&#xff…

DWM1000 MAC层

DWM1000 MAC层 MAC层 概述 MAC层&#xff0c;即媒体访问控制层&#xff0c;是数据通信协议栈中的一个重要部分&#xff0c;位于链路层的下半部分&#xff0c;紧邻物理层。在OSI模型中&#xff0c;它属于第二层&#xff0c;即数据链路层的一部分。MAC层的主要职责是控制如何在…