Linux7.0 NFS網路檔案系統

shanliangdexingxing發表於2015-03-18

NFS(Network File system)網路檔案系統,

它是連線在網路上計算機之間的共享檔案的一種方法,類似於Windows上的“網路上的芳鄰”,它可以使不同計算機不同作業系統下的使用者彼此共享檔案。

它一般多用在區域網中,是C/S模式,NFS檔案系統更適合於字元命令方式完成網路間檔案共享

NFS的好處:

1.不佔本地的磁碟空間,可以把伺服器的檔案像本地一樣操作方便(NFS伺服器對系統資源佔用也很少)

2.通過同步寫磁碟可以實現分散式處理

3.利用字元命令方式,效能高,可靈活配置

4.擴充新的資源或環境時,不需要改變現有的工作環境

5.CD-ROM和USB等儲存裝置可以在網路上被其他計算機使用,就減少了網路上可移動介質裝置的數量

6.使用者不必再每臺計算機上有一個home目錄,只要放在NFS伺服器上就可以隨處可用



NFS的三個守護程式

rpc.nfsd:它是基本的NFS守護程式,主要功能是管理客戶端是否能夠登入伺服器

rpc.mountd:它是RPC安裝守護程式,主要功能是管理NFS的檔案系統。當客戶端順利通過rpc.nfsd登入NFS服務後,在使用NFS服務所提供的文憑前,還必須通過檔案使用許可權的驗證。它會讀取NFS的配置檔案/etc/exports來對比客戶端許可權。

portmap:portmap的主要功能是進行埠對映工作。當客戶端嘗試連線並使用RPC伺服器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的埠提供給客戶端,從而使客戶可以通過該埠向伺服器請求服務。 (6.0/7.0的portmap變成了rpcbind)


NFS配置檔案  /etc/exports

格式       共享的目錄絕對路經   客戶端(許可權選項)

(客戶端可以是一個主機,網段,域或*)

  許可權選項有三類:

1、訪問許可權選項

設定輸出目錄只讀 ro
設定輸出目錄讀寫 rw(ro與rw不能共同使用)

2、使用者對映選項

all_squash將遠端訪問的所有普通使用者及所屬組都對映為匿名使用者或使用者組(nfsnobody);
no_all_squash 與all_squash取反(預設設定);
root_squash 將root使用者及所屬組都對映為匿名使用者或使用者組(預設設定);
no_root_squash 與rootsquash取反;
anonuid=xxx 將遠端訪問的所有使用者都對映為匿名使用者,並指定該使用者為本地使用者(UID=xxx);
anongid=xxx 將遠端訪問的所有使用者組都對映為匿名使用者組賬戶,並指定該匿名使用者組賬戶為本地使用者組賬戶(GID=xxx);

3、其它選項

secure限制客戶端只能從小於1024的tcp/ip埠連線nfs伺服器(預設設定);
insecure 允許客戶端從大於1024的tcp/ip埠連線伺服器;
sync 將資料同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證資料的一致性;
async 將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟;

wdelay 檢查是否有相關的寫操作,如果有則將這些寫操作 一起執行,這樣可以提高效率(預設設定);
no_wdelay 若有寫操作則立即執行,應與sync配合使用;
subtree 若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權(預設設定);
no_subtree 即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;

對映選項的效果   (mount 172.16.30.3/123 /000)

(1) 當選項為 all_squash,no_all_squash,root_squash,no_root_squash,時,在客戶端建立檔案或目錄時,

伺服器端與客戶端都顯示為nfsnobody,如下圖


c端

s端



(2)當選項為 anonuid=1001時即服務端的一個使用者xixi,建立檔案3,如下圖

c端

s端

  當選項為 anongid=1001時,上圖的1001,xixi和nfsnobody調換位置


(3)當選項為 all_squash和anonuid時,anonuid比all_squash的優先順序高哦

(4)當客戶端為普通使用者如xixi時,建檔案4,如下圖

c端

s端

(5)當伺服器端的普通使用者如haha時,建檔案5,如下圖

c端

s端



注意!!!!!

***有時碰到不管怎樣改配置檔案中的選項,客戶端都顯示沒有許可權在共享的那個檔案下建立修改檔案或是提示是隻讀檔案,那麼就要看伺服器共享的檔案本身所具有的許可權

***配置檔案寫完後一定要重啟NFS服務

***若伺服器端重新共享後,客戶端需要重新掛載

***若用普通使用者登陸後,最好exit或logout

***用NFS共享的檔案和目錄時沒有selinux限制的


相關文章