NFS文件系统共享服务器实战
架设一台NFS服务器,并按照以下要求配置
准备
两台Linux虚拟机一台作为服务端server,一台作为客户端client
server IPV4:192.168.110.136/24 client IPV4:192.168.110.134/24
两台服务器都需要关闭防火墙和seLinux
服务端
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
客户端
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
[root@client ~]# getenforce
Permissive
服务端下载nfs-utils, rpcbind
[root@server ~]# yum install -y nfs-utils rpcbind
客户端下载nfs-utils
[root@client ~]# yum install -y nfs-utils
1、开放/nfs/shared目录,供所有用户查询资料
服务端 IPV4:192.168.110.136/24
[root@server ~]# mkdir -pv /nfs/shared #创建目录
mkdir: 已创建目录 '/nfs'
mkdir: 已创建目录 '/nfs/shared'
[root@server ~]# touch /nfs/shared/{1..5} #创建文件
[root@server ~]# cd /nfs/shared/
[root@server shared]# ll
总用量 0
-rw-r--r--. 1 root root 0 11月 8 23:32 1
-rw-r--r--. 1 root root 0 11月 8 23:32 2
-rw-r--r--. 1 root root 0 11月 8 23:32 3
-rw-r--r--. 1 root root 0 11月 8 23:32 4
-rw-r--r--. 1 root root 0 11月 8 23:32 5
[root@server shared]# cd
[root@server ~]# vim /etc/exports #定义NFS共享的配置文件/nfs/shared 192.168.110.134(ro,sync) # ro为只读,sync为数据会同步写入到硬盘中
[root@server ~]# systemctl start nfs-server #启动服务,也可以enable设置开机自启
[root@server ~]# exportfs -r #读取信息直接生效[root@server ~]# showmount -e #查看服务器端共享的目录
Export list for server:
/nfs/shared 192.168.110.134
客户端 IPV4:192.168.110.134/24
[root@client ~]# showmount -e 192.168.110.136 #查看服务器端共享的目录
Export list for 192.168.110.136:
/nfs/shared 192.168.110.134[root@client ~]# mkdir -pv /nfs/test #创建挂载目录
mkdir: 已创建目录 '/nfs'
mkdir: 已创建目录 '/nfs/test'[root@client ~]# mount -t nfs 192.168.110.136:/nfs/shared /nfs/test/ #挂载
[root@client ~]# cd /nfs/test/
[root@client test]# ll #查看
总用量 0
-rw-r--r--. 1 root root 0 11月 8 23:32 1
-rw-r--r--. 1 root root 0 11月 8 23:32 2
-rw-r--r--. 1 root root 0 11月 8 23:32 3
-rw-r--r--. 1 root root 0 11月 8 23:32 4
-rw-r--r--. 1 root root 0 11月 8 23:32 5
[root@client test]# touch 6
touch: 无法创建 '6': 只读文件系统
2、开放/nfs/upload目录,为192.168.110.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
[root@server ~]# mkdir /nfs/upload/ -v #创建目录
mkdir: 已创建目录 '/nfs/upload/'[root@server ~]# touch /nfs/upload/{1..5}
[root@server ~]# vim /etc/exports #定义NFS共享的配置文件
/nfs/upload 192.168.110.0/24(rw,all_squash,anonuid=210,anongid=210)
# rw为可读写,all_squash:客户端所有用户创建文件时,客户端会将文件的用户 和组映射为匿名用户和组,anonuid=210,anongid=210将文件的用户和组映射为指定的UID和GID
[root@server ~]# exportfs -r
[root@server ~]# showmount -e
Export list for server:
/nfs/upload 192.168.110.0/24
[root@server ~]# useradd -r -u 210 nfs-upload
[root@server ~]# id nfs-upload
用户id=210(nfs-upload) 组id=210(nfs-ipload) 组=210(nfs-ipload)
[root@server upload]# chmod o+w /nfs/upload/ #赋权客户端
[root@client ~]# showmount -e 192.168.110.136
Export list for 192.168.110.136:
/nfs/upload 192.168.110.0/24
[root@client ~]# mount -t nfs 192.168.110.136:/nfs/upload /nfs/test2/
[root@client ~]# ll /nfs/test2/
总用量 0
-rw-r--r--. 1 root root 0 11月 9 00:15 1
-rw-r--r--. 1 root root 0 11月 9 00:15 2
-rw-r--r--. 1 root root 0 11月 9 00:15 3
-rw-r--r--. 1 root root 0 11月 9 00:15 4
-rw-r--r--. 1 root root 0 11月 9 00:15 5[root@client test2]# touch 6
[root@client test2]# ll
总用量 0
-rw-r--rw-. 1 root root 0 11月 9 00:15 1
-rw-r--rw-. 1 root root 0 11月 9 00:15 2
-rw-r--rw-. 1 root root 0 11月 9 00:15 3
-rw-r--rw-. 1 root root 0 11月 9 00:15 4
-rw-r--rw-. 1 root root 0 11月 9 00:15 5
-rw-r--r--. 1 nfs-upload nfs-ipload 0 11月 9 15:44 6
3、将/home/tom目录仅共享给192.168.110.136这台主机,并只有用户tom可以完全访问该目录
[root@server ~]# useradd tom
[root@server ~]# touch /home/tom/{1..5}
[root@server ~]# ll /home/tom/
总用量 0
-rw-r--r--. 1 root root 0 11月 9 15:48 1
-rw-r--r--. 1 root root 0 11月 9 15:48 2
-rw-r--r--. 1 root root 0 11月 9 15:48 3
-rw-r--r--. 1 root root 0 11月 9 15:48 4
-rw-r--r--. 1 root root 0 11月 9 15:48 5[root@server ~]# vim /etc/exports
/home/tom 192.168.110.134(rw)
[root@server ~]# chown tom /home/tom/[root@server ~]# chgrp tom /home/tom/
[root@server ~]# cd /home/
[root@server home]# ll
总用量 4
drwx------. 14 fox fox 4096 10月 22 14:09 fox
drwx------. 3 nfs-upload nfs-ipload 78 11月 9 00:21 nfs-upload
drwx------. 3 tom tom 123 11月 9 15:48 tom[root@server ~]# showmount -e
Export list for server:
/home/tom 192.168.110.134客户端
[root@client ~]# mount -t nfs 192.168.110.136:/home/tom /nfs/test/
[root@client ~]# ll /nfs/test
ls: 无法打开目录 '/nfs/test': 权限不够[root@client ~]# useradd tom
[root@client ~]# su - tom
[tom@client ~]$ ll /nfs/test/
总用量 0
-rw-r--r--. 1 root root 0 11月 9 15:48 1
-rw-r--r--. 1 root root 0 11月 9 15:48 2
-rw-r--r--. 1 root root 0 11月 9 15:48 3
-rw-r--r--. 1 root root 0 11月 9 15:48 4
-rw-r--r--. 1 root root 0 11月 9 15:48 5这里的的tom用户是指UID和GID都相同的用户
相关文章:
NFS文件系统共享服务器实战
架设一台NFS服务器,并按照以下要求配置 准备 两台Linux虚拟机一台作为服务端server,一台作为客户端client server IPV4:192.168.110.136/24 client IPV4:192.168.110.134/24 两台服务器都需要关闭防火墙和seLinux 服…...
CSS的概念和基本用法
CSS的作用: 页面美化和布局控制。 1.概念: Cascading Style Sheets 层叠样式表。 层叠:多个样式可以作用在同一个html的元素上,同时生效。 2.好处: (1).功能强大 (2).将内容展示和样式控制分离 * 降低耦合度…...
万字详解Java的三大特性:封装 | 继承 | 多态
前言:面向对象程序设计的三大特征就是:封装,继承,多态。在前文介绍了类和对象后,我们就可以继而学习什么是封装,怎么用类的子类来实现继承和多态 目录 一.面向对象的特性 1.封装性 2.继承性 3.多态性…...
TensorFlow学习笔记--(1)张量的随机生成
张量的生成 如何判断一个张量的维数:看张量的中括号有几层 0 1 2 :零维数列 [2 4 6] : 一维向量 [ [1 2 3] [4 5 6] ] : 二维数组 两行三列 第一行数据为 1 2 3 第二行数据为 4 5 6 以此类推 n维张量有n层中括号 tf.zeros(%指定一个张量的维数%) 生成一…...
如何防止IP和账户关联?
在当今信息时代,个人隐私安全变得尤为重要。保护个人IP地址和账户的隐私是防止隐私泄露、信息泄漏以及支付安全等问题的关键。VMLogin虚拟浏览器作为一种隐私工具,可以帮助您解决问题。本文将为您介绍如何使用它来保护隐私安全和防止IP和账户关联。 一、…...
进入网络安全行业有哪些大公司推荐
随着互联网的普及和数字化进程的加速,网络安全问题日益凸显。从个人信息的泄露到国家基础设施的被攻击,网络安全已经不再只是一个技术问题,而是关乎到每个人、每个企业和国家的核心利益。在这场没有硝烟的战争中,一些大公司凭借其…...
OpenHarmony 社区运营报告(2023 年 10 月)
● 截至 2023 年 10 月,OpenHarmony 社区共有 51 家共建单位,累计超过 6200 名贡献者产生 24.2 万多个 PR,2.3 万多个 Star,6.1 万多个 Fork,59 个 SIG。 ● OpenHarmony 4.0 版本如期而至,开发套件同步升级…...
Mybatis二级缓存源码整理
添加配置mybatis-plus.configuration.cache-enabledtrue在mapper.xml文件中添加cache标签<cache size"10240" eviction"LRU"/>同一个事务中二级缓存不生效,会使用一级缓存,因为事务未提交。 执行流程部分 Configuration创建…...
如何在 HarmonyOS 对数据库进行备份,恢复与加密
数据库备份与恢复 场景介绍 当应用在处理一项重要的操作,显然是不能被打断的。例如:写入多个表关联的事务。此时,每个表的写入都是单独的,但是表与表之间的事务关联性不能被分割。 如果操作的过程中出现问题,开发者可…...
js实现向上、向下、向左、向右无缝滚动
向左滚动 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, ini…...
6 Hive引擎集成Apache Paimon
更多Paimon数据湖内容请关注:https://edu.51cto.com/course/35051.html 在实际工作中,我们通查会使用Flink计算引擎去读写Paimon,但是在批处理场景中,更多的是使用Hive去读写Paimon,这样操作起来更加方便。 前面我们…...
发布版本自动化记录版本功能方法
# 安装commitizennpm install --save-dev commitizen# 初始化Conventional Commits规范适配器npx commitizen init cz-conventional-changelog --save-dev --save-exact最后一步,需要在package.json中添加一个script"scripts": {..., // 此处省略其它配置…...
Elastic Stack 8.11:引入一种新的强大查询语言 ES|QL
作者:Tyler Perkins, Ninoslav Miskovic, Gilad Gal, Teresa Soler, Shani Sagiv, Jason Burns Elastic Stack 8.11 引入了数据流生命周期、一种配置数据流保留和降采样(downsampling) 的简单方法(技术预览版)…...
wx:for-item wx:for-index wx:for-key
wx:for-item wx:for-item , 数组当前项的变量名,默认为 item 作用:使用 (当前项变量名.属性名) 取得属性值每一项 <view wx:for"{{array}}"><view>{{item.name item.age }}</view> </view>等同于 &…...
老师还不会评课?这里有你需要的解决方案
优点: 1.课件制作: 老师的PPT设计得很新颖,插入的音乐视频都非常贴合课堂内容,看得出老师非常用心地进行了设计。 2.教师素养:老师的语言丰富、朗读能力很出色、板书设计很工整。 3.教师风格: xx老师上课激情澎湃/非常有亲和力…...
Talk | 马里兰大学博士生吴曦旸:分布式多智能体强化学习在复杂交通轨迹规划中的应用
本期为TechBeat人工智能社区第545期线上Talk! 北京时间11月09日(周四)20:00,马里兰大学博士生—吴曦旸的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “分布式多智能体强化学习在复杂交通轨迹规划中的应用”,介…...
2023年下半年架构案例真题及答案
案例的考点: 大数据架构 Lambda架构和Kappa架构 jwt特点 数据持久层,Redis数据丢失,数据库读写分离方案 Hibernat架构 SysML七个关系,填需求图 大数据的必选题: 某网作为某电视台在互联网上的大型门户入口&#…...
Java必考面试题,谈谈你对 Spring AOP 的理解
大家好,我是伍六七。 今天我们来学习 Spring 框架中最重要的概念之一:AOP。 这是一个 Java 程序员必考的面试题,大家好好理解。我们开始正文。 AOP 的概念 Spring AOP 是 Java 程序员们面试经常被问到的一个问题,但 AOP&#…...
BERT和ChatGPT简单对比
OpenAI发布了第一个版本的GPT(Generative Pretrained Transformer)模型在2018年6月。 谷歌的BERT模型(Bidirectional Encoder Representations from Transformers)是在2018年10月发布的。 BERT和ChatGPT都是由人工智能研究实验室…...
又一重要合作,创邻科技华为云联营产品正式发布
近日,创邻科技旗下的“Galaxybase高性能图平台”正式入驻华为云云商店联营商品,创邻科技成为华为云在数据库与缓存领域的联营联运合作伙伴。通过联营联运模式,双方合作能够深入产品、生态、解决方案等多个领域,助力各行业用户数字…...
OpenFOAM v8波浪模拟:手把手教你配置alpha.water、p_rgh和U的边界条件(含waveAlpha详解)
OpenFOAM v8波浪模拟实战:从零掌握alpha.water、p_rgh与U边界配置 当第一次打开OpenFOAM波浪算例的边界条件文件时,那些密密麻麻的参数和类型声明往往让人望而生畏。作为计算流体力学(CFD)领域的开源利器,OpenFOAM在波浪模拟方面展现出强大能…...
ClamAV扫U盘太慢?教你3个高级参数和正则排除法,让Ubuntu病毒扫描效率翻倍
ClamAV扫描效率优化实战:3个高级参数与正则排除法深度解析 每次插入U盘后等待ClamAV慢悠悠地完成全盘扫描,看着进度条像蜗牛爬行一样前进,是不是让你抓狂?作为Linux系统管理员,我经历过太多这样的煎熬时刻。直到发现那…...
专业的离子风枪哪个公司好
在电子制造、半导体、汽车涂装等工业场景中,静电吸附灰尘、击穿元件等问题直接影响产品质量与生产效率,离子风枪作为高效静电消除设备,其品牌选择至关重要。行业调研显示,约60%的静电故障源于设备选型不当,因此需从技术…...
2026 最新 Python+AI 零基础入门实战教程:从零搭建企业级人工智能项目
阅读前言2026 年,人工智能全面普及,大模型、RAG 知识库、AI Agent、多模态应用成为开发主流。越来越多零基础人群想要入门 PythonAI,但大部分学习者走弯路、踩深坑、半途而废:盲目啃数学、堆砌复杂框架、乱装环境、只会复制代码不…...
StackChan开源AI桌面机器人开发指南
1. StackChan开源桌面机器人项目概述StackChan是一款基于M5Stack CoreS3 ESP32-S3物联网控制器的开源AI桌面机器人。这个由社区驱动的项目最初由开发者Shinya Ishikawa发起,经过多年发展已演变为集智能语音助手、物联网控制、教育编程平台于一体的多功能机器人。其核…...
如何构建你的AI克隆:LLM Twin Course完整指南
如何构建你的AI克隆:LLM Twin Course完整指南 【免费下载链接】llm-twin-course 🤖 𝗟𝗲𝗮𝗿𝗻 for 𝗳𝗿𝗲𝗲 how to 𝗯𝘂…...
从手机到智能锁:聊聊电容触摸FPC设计中,自电容与互电容到底怎么选?
从手机到智能锁:电容触摸FPC设计中自电容与互电容的选型策略 在智能硬件产品爆炸式增长的今天,电容式触摸技术已经从智能手机扩展到智能门锁、蓝牙音箱、家电控制面板等各类设备。作为产品经理或硬件开发者,面对自电容与互电容两种主流方案时…...
被忽略的性能-安全悖论:C++高吞吐MCP网关中inline汇编加密与L1d缓存侧信道攻击的平衡点(实测AES-NI加速下Meltdown缓解开销<3.2%)
第一章:C高吞吐量MCP网关安全性最佳方案的演进范式现代微服务控制平面(MCP)网关在金融、电信等关键场景中需同时满足百万级QPS吞吐与零信任安全要求。传统基于 OpenSSL 同步 TLS 握手与 RBAC 粗粒度鉴权的架构已无法应对瞬时连接洪峰与细粒度…...
计算机毕业设计:Python股票市场数据采集与可视化系统 Flask框架 数据分析 可视化 大数据 大模型 爬虫(建议收藏)✅
1、项目介绍 技术栈 采用 Python 语言开发,基于 Flask 框架搭建后端服务,通过 requests 爬虫从雪球网采集股票数据,前端使用 Echarts 实现数据可视化。 功能模块股票数据分析可视化股价与成交量分布散点图股票数据股票数据爬取注册…...
社交产品测试
社交产品的功能其实比较固定,大概测试过2~3个社交产品或者社交属性的运营活动一、核心功能测试1、个人信息和关系• 注册/登录:手机号/邮箱/第三方(微信/QQ)验证,验证码防刷、过期机制。 • 个人资料:昵称/…...











