Linux中的NFS簡單配置介紹

NFS需要RPC協議的協助。

RPC主要負責認證以及令牌發放。RPC的組件有rpc.mountd rpc.lockd rpc.statd

注意一個問題:

如果在NFS客戶端有個用戶centos(id=1001),它通過NFS協議掛載了一個遠端路徑,centos在NFS目錄中創建了一個文件。當遠端服務器上也有個用戶linux(id=1001)時,那麼linux對NFS路徑下的文件也擁有與centos用戶相同的權限。

還有個一問題:

如果本地有root用戶(nfs客戶端),那麼它就會對nfs路徑做任何事情,這樣就太危險了。NFS有個機制:root_squash,將NFS本地(nfs客戶端)root用戶降級,降級爲nfsnobody。這樣客戶端本地的root就沒有太大的權限了。對於第一個問題,也有一個all_squash機制,將nfs客戶端用戶降級,避免與nfs服務端用戶(有相同UID)擁相同的權限。

NFS程序

圖片.png

NFS服務運行腳本

圖片.png

監聽端口

圖片.png

啓動NFS服務的時候會消耗較長的時間。因爲他要連帶啓動其他服務

圖片.png

通過這個截圖可以發現,沒有nfs的進程,而多了很多RPC的進程,這個是因爲nfs是一個內核級程序,不對應單獨的進程。

NFS的配置文件

nfs的配置文件有兩種寫法:1、/etc/exports 直接編寫該文件 2、/etc/exports.d/xxx.exports

這兩種寫法可以並存

配置文件的目的就是說明有哪些目錄是需要向外共享的

NFS配置文件的格式

/nfs-dir ip(export opt1,opt2) ip(opt1,opt2)

允許掛載的目錄 允許掛載的客戶端IP地址

客戶端可以是指定IP,還可以是IP/PREFIX *代表任意主機

選項

root_squash 壓縮root用戶權限 默認

no_root_squash 不壓縮root用戶權限 危險

all_squash 壓縮所有用戶權限

no_all_squash 不壓縮所有用戶權限

anonuid and anongid 將NFS客戶端映射到本地指定UID和GID

壓縮永不權限主要是防止兩個主機上的用戶ID相同

exportfs

用來維護NFS文件系統,如果NFS配置文件修改了,不能重啓NFS服務。需要使用這個命令來使配置文件生效。

配置NFS

1、添加NFS配置文件內容

圖片.png

2、在沒有exportfs之前的測試

圖片.png

沒有共享路徑

3、exportfs 使NFS配置文件生效

圖片.png

4、再測試exportfs的輸出

圖片.png

5、客戶端掛載NFS

圖片.png

圖片.png

既然已經是rw權限了,爲什麼不能創建文件呢?因爲root_squash是默認選項,它降低了客戶端root用戶的權限。

圖片.png

我臨時在服務端修改下nfs的權限

圖片.png

圖片.png

客戶端就不報錯了

6、使用第二個方式編寫NFS配置文件

圖片.png

後綴一定不能錯。

文件名就是共享路徑的名字

7、更新下共享目錄

圖片.png

8、在客戶端查看共享路徑有沒有增加

圖片.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章