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

目录

前言

配置文件

工作原理

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.rhkb.cn/news/396760.html

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

相关文章

使用tailwindcss轻松实现移动端rem适配

本示例节选自小卷全栈开发实战系列的《Vue3实战》。演示如何用tailwindcss所支持的rem体系轻松实现一个仿b站移动端头部导航栏rem适配。 友情声明 学习分享不易,如果小伙伴觉得有帮助,点赞支持下。满30赞,将随文附赠录屏讲解,感谢…

树莓派4/5:运行Yolov5n模型(文末附镜像文件)

〇、前言 因国内网络问题,可直接烧录文末镜像文件,或者按照本教程进行手动操作。 一、实验目的 在树莓派4B运行Yolov5n模型。 二、实验条件 1、Windows 11计算机:安装了Mobaxterm 2、树莓派4B:64Bit Lite OS,安装了…

案例:Nginx + Tomcat集群(负载均衡 动静分离)

目录 案例 案例环境 案例步骤 部署Tomcat服务器 部署Nginx服务器 实现负载均衡和读写分离 日志控制 案例 案例环境 操作系统 IP 地址 角色 CentOS 192.168.10.101 Nginx服务器(调度器) CentOS 192.168.10.102 Tomcat服务器① CentOS 1…

uniapp 对于scroll-view滑动和页面滑动的联动处理

需求 遇到一个需求 解决方案 这个时候可以做一个内页面滑动判断 <!-- scroll-y 做true或者false的判断是否滑动 --> <view class"u-menu-wrap" style"background-color: #fff;"><scroll-view :scroll-y"data.isGo" scroll-wit…

贷奇乐漏洞学习 --- 两个变态WAF绕过

代码分析 第一个WAF 代码 function dowith_sql($str) {$check preg_match(/select|insert|update|delete|\|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/is, $str);if ($check) {echo "非法字符!";exit();}return $str;} 实现原理 这段PHP代码定义了一个…

uniapp切换同一个子组件时,钩子函数只进了一次

给子组件添加不同的 “key” 值&#xff0c;当 key 值改变时&#xff0c;Vue 会认为这是一个不同的组件&#xff0c;并重新创建它 props: ["L1Id"],// 方式1: 使用keycomputed: {// 切换子组件时,发现created、mounted等钩子函数只会进一次,或者用 keykey(){this.ref…

CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效

CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效 今天给大家分享一个纯CSS按钮水晶按钮,效果很赞,希望对大家有所帮助。 本例图片 案例分析 这个按钮看起来效果很赞,我们分析一下它由几个层组成: 1. 按钮本体:渐变层+按钮文字 2.用before伪元素实现高光层+内…

线程与多线程(二)

线程与多线程&#xff08;二&#xff09; 一、线程互斥1、相关概念 二、互斥锁1、介绍2、使用场景3、初始化&#xff08;1&#xff09;函数&#xff08;2&#xff09;概念 4、销毁&#xff08;1&#xff09;函数&#xff08;2&#xff09;概念 5、加锁&#xff08;1&#xff09…

SAM-Med2D 大模型学习笔记(续):训练自己数据集

1、前言、数据集介绍 SAM-Med2D大模型介绍参考上文&#xff1a;第三章&#xff1a;SAM-Med2D大模型复现-CSDN博客 本文将使用SAM-Med2D大模型训练自己的数据集 关于SAM-Med2D大模型官方demo数据集的介绍上文已经介绍过&#xff0c;这里简单回顾下 其中data_demo为数据集的目…

leetcode171. Excel 表列序号,进制转换

leetcode171. Excel 表列序号 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: columnTitle “A” 输出: 1 示…

电商平台产品ID|CDN与预渲染|前端边缘计算

技术实现 都是通过ID拿到属性&#xff0c;进行预渲染html&#xff0c;通过 oss 分发出去 详情页这种基本都是通过 ssr 渲染出来&#xff0c;然后上缓存 CDN 分发到边缘节点来处理&#xff0c;具体逻辑可以参考 淘宝——EdgeRoutine边缘计算&#xff08;CDNServerless 边缘计算…

国内真正意义上的OpenAI,最强多模态大模型 MiniCPM-V 2.6 发布

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友解…

二叉树的最大深度

二叉树的最大深度 思路&#xff1a; 法一&#xff1a;深搜 也就是递归 要想清楚边界条件 好久没写深搜了 回忆下怎么写。 突然就悟了&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *rig…

2024年6月 青少年机器人技术等级考试理论综合试卷(二级)

202406 青少年等级考试机器人理论真题二级 第 1 题 如图&#xff0c;这是飞机起飞时的机翼示意图&#xff0c;下列说法正确的是&#xff1f;&#xff08; &#xff09; A&#xff1a;机翼上侧所受的气压为0 B&#xff1a;机翼受到向下的力的作用 C&#xff1a;机翼下侧所受…

基于sklearn的机器学习 — 支持向量机(SVM)

支持向量机&#xff08;SVM&#xff1a;support vector machine&#xff09;另一种功能强大、应用广泛的学习算法&#xff0c;可应用于分类、回归、密度估计、聚类等问题。SVM可以看作是感知器&#xff08;可被视为一种最简单形式的前馈神经网络&#xff0c;是一种二元线性分类…

C++ 特殊类设计

目录 0.前言 1.设计一个不能被拷贝的类 1.1C98实现 1.2C11实现 2.设计一个只能在堆上创建对象的类 3.设计一个只能在栈上创建对象的类 4.设计一个不能被继承的类 4.1C98实现 4.2C11实现 5.设计只能创建一个对象的类&#xff08;单例模式&#xff09; 5.1设计模式简介 5.2单例模…

Jupyter nbextensions安装与使用

这里写自定义目录标题 Jupyter nbextensions安装与使用安装7以下版本&#xff0c;安装插件包推荐使用的插件 Jupyter nbextensions安装与使用 目前&#xff0c;jupyter版本升级到了7以上版本&#xff0c;导致其界面非常难看&#xff0c;因此&#xff0c;为了重回之前的使用界面…

buuctf-crypto

前言 查找资料的时候,意外翻出之前刷的一些ctf题目,算是简单记录一下,当然因为常用typeo去写md文件,所以其中有很多当时记录的图片都失效了,可惜了 题目1:一眼就解密 ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30 base64解密 flag:flag{THE_FLAG_OF_THIS_STRING} 题目2:MD5 …

全球化浪潮下的数据库革新:嘉里物流 TiDB 实践价值的设想

导读 本文来自 TiDB 社区武汉站——嘉里物流架构团队负责人肖飞老师的演讲《嘉里物流 & TiDB 在全球化业务场景中应用设想》。本次分享探讨了嘉里物流在全球化扩展中&#xff0c;将如何通过 TiDB 的强大功能应对海量数据挑战&#xff0c;优化技术架构&#xff0c;并提升决…

【Linux】详解自定义Shell管道 | 构建简易进程池

目录 续&#xff1a;通信 4 种情况 应用场景 1. 自定义 shell 管道 1. 包含头文件 2. 解析命令函数 详细步骤 3. 执行命令函数 4. 主函数 总结 2. 使用管道实现一个简易版本的进程池 代码结构 代码实现 channel.hpp tasks.hpp main.cc 子进程读取任务&#xff…