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都相同的用户

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

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

相关文章

优化编辑距离以测量文本相似度

一、说明 编辑距离是一种文本相似度度量,用于测量 2 个单词之间的距离。它有许多方面应用,如文本自动完成和自动更正。 对于这两种用例中的任何一种,系统都会将用户输入的单词与字典中的单词进行比较,以找到最接近的匹配项&#x…

智慧城市数据中台建设方案:PPT全文51页,附下载

关键词:智慧城市解决方案,数据中台解决方案,智慧城市建设,数据中台技术架构,数据中台建设 一、智慧城市数据中台建设背景 智慧城市数据中台是在城市数字化转型和智能化升级的背景下提出的,旨在实现城市数…

Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib

一、环境 使用的环境是Win10,Visual Studio 2019,Cmake3.28,cdua 11.7,cudnn 8.5,如果只是在CPU环境下使用,则不用安装CUDA。要使用GPU处理,安装好CUDA之后,要测试安装的CUDA是否能用。不能正常使用的话,添加一下系统…

Mac安装与配置eclipse

目录 一、安装Java:Mac环境配置(Java)----使用bash_profile进行配置(附下载地址) 二、下载和安装eclipse 1、进入eclipse的官网 (1)、点击“Download Packages ”​编辑 (2)、找到macOS选择符合自己电脑的框架选项…

一步一步详细介绍如何使用 OpenCV 制作低成本立体相机

在这篇文章中,我们将学习如何创建定制的低成本立体相机(使用一对网络摄像头)并使用 OpenCV 捕获 3D 视频。我们提供 Python 和 C++ 代码。文末并附完整的免费代码下载链接 我们都喜欢观看上面所示的 3D 电影和视频。您需要如图 1 所示的红青色 3D 眼镜才能体验 3D 效果。它是…

kubeadm部署k8s及高可用

目录 CNI 网络组件 1、flannel的功能 2、flannel的三种模式 3、flannel的UDP模式工作原理 4、flannel的VXLAN模式工作原理 5、Calico主要组成部分 6、calico的IPIP模式工作原理 7、calico的BGP模式工作原理 8、flannel 和 calico 的区别 Kubeadm部署k8s及高可用 1、…

API SIX系列-服务搭建(一)

APIsix简介 APISIX是一个微服务API网关,具有高性能、可扩展性等优点。它基于nginx(openresty)、Lua、etcd实现功能,借鉴了Kong的思路。和传统的API网关相比,APISIX具有较高的性能和较低的资源消耗,并且具有…

react类式组件的生命周期和useEffect实现函数组件生命周期

概念 生命周期是一个组件丛创建,渲染,更新,卸载的过程,无论是vue还是react都具有这个设计概念,也是开发者必须熟练运用的,特别是业务开发,不同的生命周期做不同的事是很重要的. ....多说两句心得,本人是先接触vue的,无论是vue2还是vue3的生命周期,在理解和学习上都会比react更…

嵌入式养成计划-52----ARM--开发板介绍--相关硬件基础内容介绍--GPIO讲解

一百三十一、开发板介绍 131.1 核心板介绍 131.2 拓展板 一百三十二、相关硬件基础内容介绍 132.1 PCB PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板, 是重要的电子部件,是电子元器…

Linux常用命令——bzless命令

在线Linux命令查询工具 bzless 增强.bz2压缩包查看器 补充说明 bzless命令是增强“.bz2”压缩包查看器,bzless比bzmore命令功能更加强大。 语法 bzless(参数)参数 文件:指定要分屏显示的.bz2压缩包。 在线Linux命令查询工具

计算机毕业设计 基于Springboot的影院购票管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

网络运维Day10

文章目录 SHELL基础查看有哪些解释器使用usermod修改用户解释器BASH基本特性 shell脚本的设计与运行编写问世脚本脚本格式规范执行shell脚本方法一方法二实验 变量自定义变量环境变量位置变量案例 预定义变量 变量的扩展运用多种引号的区别双引号的应用单引号的应用反撇号或$()…

【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码

目录 1. 监督学习 (Supervised Learning): 2. 无监督学习 (Unsupervised Learning): 3. 强化学习 (Reinforcement Learning): 4. 半监督学习 (Semi-Supervised Learning): 5. 自监督学习 (Self-Supervised Learning): 6. 迁移学习 (Transfer Learning): 7 机器学习范式应…

Git可视化界面的操作,SSH协议的以及IDEA集成Git

目录 一. Git可视化界面的操作 二. gitee的ssh key 2.1 SSH协议 2.2 ssh key 三. IDEA集成Git 3.1 分享项目 3.2 下载项目 一. Git可视化界面的操作 上一篇博客只用到了git的命令窗口,现在就来看看可视化窗口要怎么操作。 点击Git GUI Here GUI界面 在g…

ceph-deploy bclinux aarch64 ceph 14.2.10

ssh-copy-id,部署机免密登录其他三台主机 所有机器硬盘配置参考如下,计划采用vdb作为ceph数据盘 下载ceph-deploy pip install ceph-deploy 免密登录设置主机名 hostnamectl --static set-hostname ceph-0 .. 3 配置hosts 172.17.163.105 ceph-0 172.…

HTML使用lable将文字与控件进行关联以获取焦点

先养养眼再往下看 注释很详细&#xff0c;直接上代码 <form action""><!-- 第一种方法:用id的方式绑定账户(文字)和输入框 --><label for"zhanghu">账户</label><input "text" id"zhanghu" name"ac…

Python环境安装、Pycharm开发工具安装(IDE)

Python下载 Python官网 Python安装 Python安装成功 Pycharm集成开发工具下载&#xff08;IDE&#xff09; PC集成开发工具 Pycharm集成开发工具安装&#xff08;IDE&#xff09; 安装完成 添加环境变量&#xff08;前面勾选了Path不用配置&#xff09; &#xff08;1&…

NO.304 二维区域和检索 - 矩阵不可变

题目 给定一个二维矩阵 matrix&#xff0c;以下类型的多个请求&#xff1a; 计算其子矩形范围内元素的总和&#xff0c;该子矩阵的 左上角 为 (row1, col1) &#xff0c;右下角 为 (row2, col2) 。 实现 NumMatrix 类&#xff1a; NumMatrix(int[][] matrix) 给定整数矩阵 …

JS实现数据结构与算法

队列 1、普通队列 利用数组push和shif 就可以简单实现 2、利用链表的方式实现队列 class MyQueue {constructor(){this.head nullthis.tail nullthis.length 0}add(value){let node {value}if(this.length 0){this.head nodethis.tail node}else{this.tail.next no…

LLM代码生成器的挑战【GDELT早期观察】

越来越多的研究开始对LLM大模型生成的代码的质量提出质疑&#xff0c;尽管科技行业不断推出越来越多的旨在增强甚至取代人类编码员的工具。 随着我们&#xff08;GDELT&#xff09;继续探索和评估越来越多的此类工具&#xff0c;以下是我们的一些早期观察结果。 在线工具推荐&a…