文件共享服务NFS(服务名nfs,端口tcp/2049)

devtools/2024/9/22 13:28:04/

目录

前言

配置文件

工作原理

NFS服务器的配置

查看服务器是否安装

查看服务器状态

开启服务

编写配置文件

客户端挂载



前言

NFS(Network File System)是一种分布式文件系统协议,它允许网络中的不同计算机共享文件和目录,就像它们是本地存储的一部分一样。主要用于UNIX/Linux系统之间的文件共享。


配置文件

/etc/exports


工作原理

NFS的工作原理基于客户端-服务器架构。服务器端配置并启动相关服务进程,通过/etc/exports文件定义哪些目录可以被哪些客户端以哪种权限访问。客户端访问服务器端的共享资源时,会通过Portmapper(或rpcbind)服务查询到NFS服务器所监听的实际端口,并向这些端口发送挂载请求。一旦服务器验证并批准该请求,客户端就可以将远端的共享目录挂载到本机的一个指定路径下。这时,访问服务端的共享文件,就如同访问本地文件一样。


NFS服务器的配置

查看服务器是否安装

rpm -qa | grep nfs

查看服务器状态

systemctl status nfs

开启服务

systemctl start nfs

编写配置文件

vim /etc/exports

配置文件打开后,需要自己添加配置

格式为:共享目录或文件的路径   客户端IP/IP段  (选项)

下表为一些基本的选项和说明

访问权限ro只读访问权限
rw读写访问权限
数据同步sync

数据同步写入到内存与硬盘中

async数据先暂存于内存当中,而非直接写入硬盘
用户映射root_squash将客户端的 root 用户映射为匿名用户 nfsnobody
no_root_squash保留客户端root用户的权限
all_squash将所有用户映射为匿名用户
anonuid设定匿名用户的UID
anongid设定匿名用户的GID
安全设置secure限制客户端仅能通过小于1024的TCP/IP端口连接
insecure允许客户端从大于1024的端口连接
写入延迟wdelay默认设置,归组写入,提高效率
no_wdelay立即写入,应与 async 配合使用
子目录检查subtree_check如果共享子目录,则检查父目录权限(默认)
no_subtree_check不检查父目录权限,提高性能
子目录共享hide不共享子目录
no_hide共享子目录

比如:服务端想要共享给客户端的目录为home目录下的files目录

那么服务端配置文件应该根据具体情况添加类似如下的语句:

#任意IP的客户端都可以以只读的形式访问/home/files:
/home/files *(ro)#只允许IP为192.168.100.88的客户机访问/home/filws:
/home/files 192.168.100.88(rw)#允许192.168.100.0这个网段的用户以读写从形式访问/home/files并且不限制用户身份:
/home/files 192.168.100.0/24(rw,all_squash)#只允许uid和gid都为900且在192.168.100.0这个网段的用户以读写形式访问/home/files:
/home/files 192.168.100.0/24(rw,anonuid=900,anongid=900)

具体怎么配置,根据实际需求来,总之,结构都一样:目录或文件   ip(选项)

这里我们演示允许192.168.100.0网段的用户已读写的方式访问/home/files

/home/files 192.168.100.0/24(rw)

编辑好配置文件后,需要配置防火墙允许nfs开启服务,然后重启防火墙,重启nfs服务,还可以看一下nfs状态(如果配置文件出错了,重启nfs并不会报错,但nfs状态可能会标红,影响nfs连接)

firewall-cmd --add-service=nfs --zone=public --permanent
setenforce 0
systemctl restart firewalld
systemctl restart nfs
systemctl status nfs

客户端挂载

这里的挂载,只是一种映射,并不是实际的挂载到了客户端下面

来到客户端,将服务端/home/files目录挂载到自己新建的一个目录:

mkdir /home/guazai
mount -t nfs 192.168.100.2:/home/files ./guazai

值得注意的是NFS共享文件的最终访问权限取决于服务器端配置的共享权限和文件本身的权限。




http://www.ppmy.cn/devtools/92171.html

相关文章

【OpenCV C++20 学习笔记】霍夫直线变换-Hough Line Transform

霍夫线条变换 原理标准和概率霍夫变换 API标准霍夫变换概率霍夫直线变换 实例 原理 霍夫直线变换一般用来检测直线,它要在边缘检测之后才能应用。 在数学上要定义一条直线通常有2种方法: 笛卡尔坐标系:两点确定一条直线,即 ( x…

谷粒商城实战笔记-144-性能压测-性能监控-堆内存与垃圾回收

文章目录 一,两种类型的应用1,CPU密集型应用示例:Apache Spark 2,IO密集型应用示例:MySQL 二,监控 我们通过压力测试对接口进行了性能评估,以确定其是否满足性能要求。 如果不符合,就…

可视化案例(3)

疫情地图 1.分析数据 通过三方网站等对大量数据进行分析,解析出数据中的key:value解析网站:JSON在线视图查看器(Online JSON Viewer) 2.导包 导入将使用的包和模块 # 导包 import json 3.获取数据 文本数据全部获取 # 读取数据 f ope…

【鸿蒙开发基础学习】TS到ArkTS适配指导

什么是ArkTS ArkTS提供了语言运行时相关能力 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析&#xf…

Selenium + Python 自动化测试09(多窗口切换)

我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。 上一篇我们讨论了截图的操作方法,本篇文章我们讲述一下多窗口切换的操作方法。 在实际的测试项目组中我们可能会遇到多窗口的情况,有时候需要在不同窗口…

乡村旅游宣传网站/某城市旅游网站的设计与实现/旅游景点宣传系统

摘要 随着计算机技术,网络技术的迅猛发展,Internet 的不断普及,网络在各个领域里发挥了越来越重要的作用。特别是随着近年人民生活水平不断提高,旅游宣传给用户带来了及大方便。 在经济快速发展的带动下,旅游业的发展也…

第二章 Django view视图

设置url动态参数 view.py def detail(request, req_id):return HttpResponse(req_id:%s % req_id)url.py urlpatterns [path(<int:req_id>/detail, views.detail, namedetail), ]访问 http://0.0.0.0:8080/myapp/11/detail