網絡文件系統(NFS,Network File System)是一種將遠程主機上的分區(目錄)經網絡掛載到本地系統的一種機制,通過對網絡文件系統的支持,用戶可以在本地系統上像操作本地分區一樣來對遠程主機的共享分區(目錄)進行操作。
在NFS中文件的權限:文件系統權限, 共享權限
在linux上識別用戶不是靠用戶名而是靠UID識別的
除了root其他用戶都可以在其他主機上映射,root會不識別。映射就是在不同主機上,使用的UID相同
NFS是SUN公司開發的基於RPC的服務,remote procedure call
nfs靠rpc提供服務,獲取隨即端口
portmap 提供RPC服務
軟件包:nfs-utils
Daemons進程:nfsd ,rpc.mountd 身份驗證 rc.lockd 實現文件的鎖進制,第一個用戶可以寫,其他用戶只可以讀 rpc.statd rpc.quotad
啓動腳本:nfs (nfsd,rpc.mountd,rpc.quotad)
nfslock(rpc.lockd,rpc.statd)
端口:tcp2049 udp 2049
NFS配置文件:
主配置文件:/etc/exports
次配置文件:/etc/sysconfig/nfs 可以靜態指定端口
版本:nfs1 內部使用 NFS2 NFSv3 (目前主要使用) NFSv4
NFS只能共享目錄
以root 身份登陸Linux 服務器,編輯/etc 目錄下的共享目錄配置文件exports,指定共享目錄及權限等。
執行如下命令編輯文件/etc/exports:
# vi /etc/exports
在該文件裏添加如下內容:
/home/work 192.168.0.*(rw,sync,no_root_squash)
然後保存退出。
添加的內容表示:允許ip 地址範圍在192.168.0.*的計算機以讀寫的權限來訪問/home/work 目錄。
/home/work 也稱爲服務器輸出共享目錄。
括號內的參數意義描述如下:
rw:讀/寫權限,只讀權限的參數爲ro;
sync:數據同步寫入內存和硬盤,也可以使用async,此時數據會先暫存於內存中,而不立即寫入硬盤。
no_root_squash:NFS 服務器共享目錄用戶的屬性,如果用戶是 root,那麼對於這個共享目錄來說就具有 root 的權限。
接着執行如下命令,啓動端口映射:
# /etc/rc.d/init.d/portmap start
最後執行如下命令啓動NFS 服務,此時NFS 會激活守護進程,然後就開始監聽 Client 端的請求:
# /etc/rc.d/init.d/NFS start
用戶也可以重新啓動Linux 服務器,自動啓動NFS 服務。
我們首先在Linux 服務器上進行NFS 服務器的迴環測試,驗證共享目錄是否能夠被訪問。在Linux 服務器上運行如下命令:
# mount –t NFS 192.168.0.20:/home/work /mnt
# ls /mnt
命令將Linux 服務器的NFS 輸出共享目錄掛載到/mnt 目錄下,因此,如果NFS 正常工作,應該能夠在/mnt 目錄看到/home/work 共享目錄中的內容。
nfs 的重新掛載
exportfs -a 全部掛載(卸載) /etc/exports內的設置
-r掛載
-u卸載
-v 顯示過程