RHCE 練習三:架設一臺 NFS 服務器

一、題目要求

1、開放 /nfs/shared 目錄,供所有用戶查詢資料

2、開放 /nfs/upload 目錄,為 192.168.xxx.0/24 網段主機可以上傳目錄,并將所有用戶及所屬的組映射為 nfs-upload,其 UID 和 GID 均為 210

3.將 /home/tom 目錄僅共享給 192.168.xxx.xxx 這臺主機,并只有用戶 tom 對該目錄有讀寫權限

二、實驗

前情提要:

① 需要準備兩臺版本一致的?linux?主機且網絡可互通,這里我的服務端為 192.168.96.142,客戶端為 192.168.96.132

② 關閉服務端防火墻以及 selinux

[root@server ~]# systemctl stop firewalld[root@server ~]# setenforce 0

③ 磁盤掛載操作

[root@server ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.

④ 配置 yum 源文件

[root@server ~]# vim /etc/yum.repos.d/base.repo[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

1.開放 /nfs/shared 目錄,供所有用戶查詢資料

① 安裝 nfs-utils?共享文件系統并啟動程序

[root@server ~]# dnf install nfs-utils -y[root@server ~]# systemctl start nfs-server.service 

?②? 編輯 nfs 主配置文件

[root@server ~]# vim /etc/exports# 共享目錄(根目錄)   允許訪問的主機*(權限,參數)
/nfs/shared  *(ro)    

③?根據配置文件創建資源文件并查看文件權限,確保所有用戶可讀?/nfs/shared?路徑下文件即可

[root@server ~]# mkdir -pv /nfs/shared
mkdir: 已創建目錄 '/nfs'
mkdir: 已創建目錄 '/nfs/shared'[root@server ~]# touch /nfs/shared/test{1..10}[root@server ~]# ll -d /nfs/shared/
drwxr-xr-x. 2 root root 137  5月 19 20:01 /nfs/shared/

④?由于上面我們修改了 nfs 的配置文件,想要文件生效我們要重啟 nfs-server 服務,但在這里我們不能直接用 systemctl ?restart ?nfs-server 來重啟服務,這樣我們每重啟一次服務就會重新進行端口注冊,推薦用 exportfs ?-ra 來實現。刷新后未出現報錯說明我們的配置沒有問題!

[root@server ~]# exportfs -ra    # 重新導出(re-export)并刷新所有 NFS 共享目錄,結合了 -r(重新讀取配置)和 -a(應用到所有目錄)的功能

⑤ 客戶端主機向服務端主機建立 nfs 連接

Ⅰ.想要建立連接我們的客戶端也需要下載 nfs-utils 服務程序

[root@client ~]# mount /dev/sr0 /mnt[root@client ~]# dnf install nfs-utils -y

Ⅱ.客戶端查詢 nfs 服務器(IP 為 192.168.96.142)導出的共享目錄列表

[root@client ~]# showmount -e 192.168.96.142Export list for 192.168.96.142:
/nfs/shared *

Ⅲ.創建一個掛載目錄 /dbw,在將?/nfs/shared 文件系統掛載到 /dbw 目錄(可共享文件路徑)

[root@client ~]# mkdir /dbw[root@client ~]# mount 192.168.96.142:/nfs/shared /dbw

Ⅳ.查看 /nfs/shared 路徑,可以看到服務端所共享的文件

[root@client ~]# ll /dbw

2.開放 /nfs/upload 目錄,為 192.168.xxx.0/24 網段主機可以上傳目錄,并將所有用戶及所屬的組映射為 nfs-upload,其 UID 和 GID 均為 210

① 編輯 nfs 配置文件

[root@server ~]# vim /etc/exports
# 共享目錄(根目錄)   允許訪問的主機*(權限,參數)
/nfs/shared  *(ro)/nfs/upload  192.168.96.0/24(rw,all_squash,anonuid=210,anongid=210)

②?根據配置文件創建資源文件并查看文件權限,確保用戶可讀可寫?/nfs/shared?路徑下文件即可;刷新

[root@server ~]# mkdir -pv /nfs/upload
mkdir: 已創建目錄 '/nfs/upload'[root@server ~]# touch /nfs/upload/red{1..10}[root@server ~]# ll -d /nfs/upload/
drwxr-xr-x. 2 root root 127  5月 19 20:26 /nfs/upload/[root@server ~]# chmod o+w /nfs/upload/ -R   # 修改其他用戶權限,加上可寫權限[root@server ~]# exportfs -ra

③ 根據配置文件中所寫,需要創建一個 uid 為 210 且 gid 也為 210 的用戶賬號

[root@client ~]# useradd -r -u 210 nfs-upload[root@client ~]# id nfs-upload 
用戶id=210(nfs-upload) 組id=210(nfs-upload) 組=210(nfs-upload)

④?客戶端查詢 NFS 服務器導出的共享目錄列表

[root@server ~]# showmount -e 192.168.96.142Export list for 192.168.96.142:
/nfs/shared *
/nfs/upload 192.168.96.0/24

⑤ 將 /nfs/upload 文件掛載到 /dbw 目錄并查看共享目錄下是否有服務端共享的文件,掛載之前我們先要取消前面掛載到 /dbw 目錄下的 /nfs/shared 文件共享目錄

[root@client ~]# umount 192.168.96.142:/nfs/shared /dbw
umount: /dbw: not mounted.[root@client ~]# ll /dbw
total 0[root@client ~]# mount 192.168.96.142:/nfs/upload /dbw[root@client ~]# ll /dbw

⑥ 在客戶端下上傳文件并查看

[root@client ~]# touch /dbw/red111[root@client ~]# ll /dbw

3.將 /home/tom 目錄僅共享給 192.168.xxx.xxx 這臺主機,并只有用戶 tom 對該目錄有讀寫權限

① 編輯 nfs 配置文件


[root@server ~]# vim /etc/exports# 共享目錄(根目錄)   允許訪問的主機*(權限,參數)
/nfs/shared  *(ro)/nfs/upload  192.168.96.0/24(rw,all_squash,anonuid=210,anongid=210)/home/tom  192.168.96.132(rw,root_squash,all_squash,anonuid=1001,anongid=1001)

②?根據配置文件創建資源文件并查看文件權限,確保 tom 可讀可寫?/home/tom 路徑下文件即可;刷新

[root@server ~]# mkdir -pv /home/tom 
mkdir: 已創建目錄 '/home/tom'[root@server ~]# touch /home/tom/tom{1..10}[root@server ~]# ll -d /home/tom
drwxr-xr-x. 2 root root 127  5月 19 22:00 /home/tom[root@server ~]# useradd tom[root@server ~]# chown tom:tom /home/tom    # 改變文件所有者
[root@server ~]# chmod 700 /home/tom     # 改變文件權限僅 tom 用戶有讀寫執行權限[root@server ~]# exportfs -ra

③?根據配置文件中所寫,創建 tom ,id為 1001

[root@client ~]# useradd -u 1001 tom[root@client ~]# id tom
uid=1001(tom) gid=1001(tom) groups=1001(tom)

④?將 /home/tom 文件掛載到 /dbw 目錄并查看共享目錄下是否有服務端共享的文件,掛載之前我們先要取消前面掛載到 /dbw 目錄下的 /nfs/upload 文件共享目錄

[root@client ~]# umount 192.168.96.142:/nfs/upload /dbw
umount: /dbw: not mounted.[root@client ~]# ll /dbw
total 0[root@client ~]# mount 192.168.96.142:/home/tom /dbw[root@client ~]# ll /dbw

⑤ 客戶端上創建文件查看權限以及所有者

[root@client ~]# touch /dbw/tom111[root@client ~]# ll /dbw

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80773.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80773.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80773.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【動態導通電阻】GaN HEMT動態導通電阻的精確測量

2023 年 7 月,瑞士洛桑聯邦理工學院的 Hongkeng Zhu 和 Elison Matioli 在《IEEE Transactions on Power Electronics》期刊發表了題為《Accurate Measurement of Dynamic ON-Resistance in GaN Transistors at Steady-State》的文章,基于提出的穩態測量方法,研究了氮化鎵(…

AI 制作游戲美術素材流程分享(程序員方向粗糙版)

AI 制作游戲美術素材分享(程序員方向粗糙版) 視頻講解: 抖音:https://www.douyin.com/user/self?from_tab_namemain&modal_id7505691614690561295&showTabpost Bilibili: https://www.bilibili.com/video/BV1ojJGzZEve/ 寫在最前面: 本方法比較粗糙,只對對美術風…

Java求職面試:互聯網大廠技術棧深度解析

文章簡述 在這篇文章中,我們將通過一個模擬的面試場景,帶你深入了解Java求職面試中可能會遇到的技術棧問題。通過這個故事,你可以學習到相關技術點的具體應用場景和面試技巧。 正文 場景:某互聯網大廠的面試現場 面試官&#…

學習日記-day11-5.20

完成目標: comment.java package com.zcr.pojo; import org.hibernate.annotations.GenericGenerator;import javax.persistence.*; //JPA操作表中數據,可以將對應的實體類映射到一張表上Entity(name "t_comment")//表示當前的實體類與哪張表…

機器學習第十九講:交叉驗證 → 用五次模擬考試驗證真實水平

機器學習第十九講:交叉驗證 → 用五次模擬考試驗證真實水平 資料取自《零基礎學機器學習》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章:DeepSeek R1本地與線上滿血版部署:超詳細手把手指南 交叉驗證…

Linux面試題集合(6)

創建多級目錄或者同級目錄 mkdir -p 文件名/文件名/文件名 mkdir -p 文件名 文件名 文件名 Linux創建一個文件 touch 文件名 DOS命令創建文件 echo 內容>文件名(創建一個有內容的文件) echo >文件名(創建一個沒有內容的文件&#xff09…

Vue百日學習計劃Day46-48天詳細計劃-Gemini版

Day 46: <KeepAlive> - 組件緩存與優化 (~3 小時) 本日目標: 理解 <KeepAlive> 的作用&#xff0c;學會如何使用它來緩存組件實例&#xff0c;從而優化應用性能和用戶體驗。所需資源: Vue 3 官方文檔 (<KeepAlive>): https://cn.vuejs.org/guide/built-ins/…

SpringBean模塊(三)具有生命周期管理能力的類(1)AutowireCapableBeanFactory

一、介紹 1、簡介 AutowireCapableBeanFactory 是 Spring 框架中的一個接口&#xff0c;位于 org.springframework.beans.factory 包下&#xff0c;它提供了更底層的 Bean 實例化、依賴注入和生命周期管理能力&#xff0c;即使這些 Bean 沒有通過常規的 Component 或 XML 注冊…

Service Mesh

目錄 一、Service Mesh 的核心特點 二、Service Mesh 的典型架構 1. Sidecar 模式 2. 控制平面與數據平面分離 三、Service Mesh 解決的核心問題 四、典型應用場景 五、主流 Service Mesh 框架對比 六、挑戰與局限性 七、未來趨勢 總結 Istio 一、Istio 核心組件與…

黑馬Java基礎筆記-13常用查找算法

查找算法 基本查找(也叫順序查找&#xff0c;線性查找) 二分查找&#xff08;需要有序數據&#xff09; public static int binarySearch(int[] arr, int number){//1.定義兩個變量記錄要查找的范圍int min 0;int max arr.length - 1;//2.利用循環不斷的去找要查找的數據wh…

Go 語言 vs C+Lua(Skynet)游戲服務器方案對比分析

為啥挑這兩個呢&#xff1f;因為兩種技術分別對應CSP模型和Actor模型&#xff0c;都是經過時間檢驗的成熟且可靠的并發模型&#xff0c;問了很多地方&#xff0c;經過gpt整理得出如下報告。 從開發效率、運行性能、熱更新擴展、云部署與水平擴展能力、多類型游戲支持等五個維度…

LeetCode 925. 長按鍵入 java題解

雙指針。不會寫。 https://leetcode.cn/problems/long-pressed-name/description/ class Solution {public boolean isLongPressedName(String name, String typed) {int len1name.length();int len2typed.length();int i0,j0;while(i<len1&&j<len2){if(name.ch…

如何使用通義靈碼提高前端開發效率

工欲善其事&#xff0c;必先利其器。對于前端開發而言&#xff0c;使用VSCode已經能夠極大地提高前端的開發效率了。但有了AI加持后&#xff0c;前端開發的效率又更上一層樓了&#xff01; 本文采用的AI是通義靈碼插件提供的通義千問大模型&#xff0c;是目前AI性能榜第一梯隊…

【小明劍魔視頻Viggle AI模仿的核心算法組成】

Viggle AI 作為一款先進的生成式視頻AI工具&#xff0c;其核心技術棧融合了多項前沿算法。以下是深度解析其核心算法架構及實現原理&#xff1a; 一、核心算法組成 1. 運動控制生成&#xff08;Motion Control Generation&#xff09; 算法框架&#xff1a;基于擴散模型&…

解決Power BI Desktop導入Excel數據第一行不是列標題問題

選中第一行不是列標題的表→鼠標右鍵→選擇編輯查詢→進入Power Query界面→點擊“將第一行用作標題”→點擊左邊的“關閉并應用” 第一行就提升為標題了

對 Lambda 架構問題的深入理解

感謝 GPT&#xff0c;對很多問題的理解有機會更深。 大家攻擊 Lambda 架構&#xff0c;常說的一個點就是 “實時離線指標存在差異”。“實時離線指標存在差異”&#xff0c;是一個真實困擾運營方的問題嗎&#xff1f; 答案&#xff1a;是的&#xff0c;這是一個真實生活中的痛…

React中使用ahooks處理業務場景

// 從 ahooks 引入 useDynamicList 鉤子函數&#xff0c;用于管理動態列表數據&#xff08;增刪改&#xff09; import { useDynamicList } from ahooks;// 從 ant-design/icons 引入兩個圖標組件&#xff1a;減號圓圈圖標和加號圓圈圖標 import { MinusCircleOutlined, PlusCi…

藍橋杯2114 李白打酒加強版

問題描述 話說大詩人李白, 一生好飲。幸好他從不開車。 一天, 他提著酒顯, 從家里出來, 酒顯中有酒 2 斗。他邊走邊唱: 無事街上走&#xff0c;提顯去打酒。 逢店加一倍, 遇花喝一斗。 這一路上, 他一共遇到店 N 次, 遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。…

小土堆pytorch--神經網路-卷積層池化層

神經網路-卷積層&池化層 一級目錄二級目錄三級目錄 1. 神經網路-卷積層2. 神經網路最大池化的應用 一級目錄 二級目錄 三級目錄 1. 神經網路-卷積層 在PyTorch中&#xff0c;torch.nn.Conv2d函數定義了一個二維卷積層&#xff0c;其常用參數包括&#xff1a; in_channel…

C++顯式聲明explicit

C顯示聲明explicit 在 C 中&#xff0c;explicit 關鍵字用于修飾單參數構造函數或多參數構造函數&#xff08;C11 起&#xff09;&#xff0c;其核心作用是禁止編譯器的隱式類型轉換。 一、必須加 explicit 的典型場景 1. 單參數構造函數 當構造函數只有一個參數時&#xff…