首頁 運維 linux運維 linux NFS是什麼及怎麼用

linux NFS是什麼及怎麼用

May 12, 2023 pm 04:13 PM
linux nfs

nfs,是network file system的簡寫,即網路檔案系統。網路檔案系統是freebsd支援的檔案系統中的一種,也被稱為nfs. nfs允許一個系統在網路上與他人共用目錄和檔案。透過使用nfs,使用者和程式可以像存取本機檔案一樣存取遠端系統上的檔案。

nfs基於rpc協議,nfs本身只是起到共享的作用而和客戶端進行連接和資料傳輸則是rpc協議的功能

nfs主要透過兩個daemon 來進行控制:
1.rpc.nfsd  ------- 它用來控制客戶端是否可以連接到,nfs server
2.rpc.mountd----它用來控制客戶端連接後是否有權限對檔案進行操作,主要是依據/etc/exports檔案的設定

啟用nfs需要啟用portmap 和nfs-utils
1.portmap主要用來控制客戶端連線時請求的埠
2.nfs-utils 是rpc.nfsd、rpc.mountd 的執行文件

/etc/exports                                 nfs服務的管理指令
/usr/sbin/showmount                    客戶端的檢視指令
/var/lib/nfs/xtab   #/etc/exports檔案設定格式
【分享的目錄】 ip或主機(參數1.參數2​​) ip或主機(參數3,參數4)

參數主要有以下幾個

rw:讀寫
ro:只讀
no_root_squash:客戶端登陸者如果為root,則登入共用目錄後具有root權限
root_squash:root登入後身分被壓縮為nfsnobody(預設)
all_squash:所有使用者登入後身分被壓縮為nfsnobody(預設下)
anonuid:如不想讓使用者登入後被壓縮為nfsnobody使用者可以更改此項目
anongid:同上(這個是群組)
sync:資料同步寫入硬碟
async:資料先儲存到記憶體


關於權限的分析

1.客戶端連線時候,對一般使用者的檢查,no.1如果明確設定了一般使用者被壓縮的身份,那麼此時客戶端用戶的身份轉換為指定用戶,no.2如果nfs server上面有同名用戶,那麼此時客戶端登錄帳戶的身份轉換為nfs server上面的同名用戶,no.3如果沒有明確指定,也沒有同名用戶,那麼此時用戶身分被壓縮成nfsnobody2.客戶端連線的時候,對root的檢查,no.1如果設定no_root_squash,那麼此時root用戶的身分被壓縮為nfs server上面的root,no.2如果設定了all_squash、anonuid、anongid,此時root 身分被壓縮為指定用戶,no.3如果沒有明確指定,此時root用戶被壓縮為nfsnobody,no.4如果同時指定no_root_squash與all_squash 使用者將被壓縮為nfsnobody,如果設定了anonuid、anongid將被壓縮到所指定的使用者與群組

##啟動服務

service portmap start or /etc /rc.d/init.d/portmap start

service nfs start   or   /etc/rc.d/init.d/nfs start
#exportfs 指令用法
##- a 全部掛載或卸載

-r 重新讀取/etc/exports 中的信息,並同步更新/etc/exports、/var/lib/nfs/xtab

-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports檔案中的目錄)-v 在螢幕輸出詳細資訊

showmount 命令用法

-a  顯示已經於客戶端連接上的目錄資訊

-e  ip或hostname 顯示此ip位址分享出來的目錄

利用netstat可以查看出nfs服務開啟了許多連接埠其中nfs開啟的是2049 portmap 開啟的是111,其餘則是rpc開啟的
利用rpcinfo -p 可以查看出rpc開啟的連接埠所提供的程式有哪些
使用mount -t nfs ip(hostname):共享目錄  掛載點方式,可以完成掛載
最後注意兩點,雖然透過權限設定可以讓普通用戶訪問,但是掛載的時候只默認情況下只有root可以去掛載(普通用戶可以執行sudo)

nfs server 關機的時候一點要確保nfs服務關閉,沒有客戶端處於連線狀態! !透過showmount -a 可以查看,如果有的話用kill killall pkill 來結束,(-9 強制結束)

以上是linux NFS是什麼及怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

See all articles