NFS服務配置
NFS服務會經常用到,它用于在網絡上共享存儲
第一步服務端配置NFS
在CentOS上使用NFS服務需要安裝兩個包(nfs-utils和rpcbind),不過當使用yum工具安裝nfs-utils時會一并安裝rpcbind:
# yum install -y nfs-utils
首先修改配置檔案(預設該檔案為空)
#vim /etc/exports //寫入以下内容:
/home/nfstestdir 192.168.188.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
rw:表示讀/寫
ro:表示隻讀
sync:同步模式,表示記憶體中的資料實時寫入磁盤
async:非同步模式,表示把記憶體中的資料定期寫入磁盤
no_root_aquash:加上這個選項後,root使用者就會對共享目錄擁有至高的權限控制,就像是對本機的目錄操作一樣,但這樣安全性降低
root_aquash:與no_root_squash選項對應,表示root使用者對共享目錄的權限不高,隻有普通使用者的權限,即限制了root
all_squash:表示不管使用NFS的使用者是誰,其身份都會被限定為一個指定的普通使用者身份
anonuid/anongid:要和root_squash以及all_squash選項一同使用,用于指定使用NFS的使用者被限定後的uid和gid,但前提是本機的etc/passwd中存在相應的uid和gid
編輯好配置檔案後建立相關目錄并啟動NFS服務:
# mkdir /home/nfstestdir
# systemctl start rpcbind
# systemct start nfs
# systemct enable rpcbind
# systemct enable nfs
在啟動NFS之前,需要先啟動rpcbind (CentOS的老版本中為portmap)
二 用戶端挂NFS
最好是打開另外一台虛拟機(用戶端和服務端)在用戶端挂在NFS之前,需要先檢視服務端共享了哪些目錄
用戶端(188.129)安裝nfs-utils包後,使用showmount指令檢視
# showmount -e 192.168.188.128
Export list for 192.168.188.128:
/home/nfstestdir 192.168.188.0/24
使用指令showmount -e IP就可以檢視NFS的共享情況,從上例可以看到192.168.188.128的共享目錄為/home/nfstestdir,信任主機為192.168.188.0/24這個網段。
然後在用戶端上(188.129)挂載NFS,如下圖所示:

使用指令df -h可以看到增加了一個/mnt分區,它就是NFS共享的目錄了。進入到/mnt/目錄下,并建立測試檔案:
# cd /mnt/
# touch aminglinux.txt
touch:無法建立“aminglinux.txt”:權限不夠
這是因為在服務端(188.128)上建立/home/nfstestdir目錄權限不合适,挂載後相當于被限制為uid為1000的使用者,解決該問題需要在服務端(188.128)上修改/home/nfstestdir目錄權限:
#chomd 777 /home/nfstestdir/
然後再到用戶端上(188.129)建立測試檔案:
可以看到建立的新檔案aminglinux.txt所有者和所屬組為aming,其uid和gid都為1000。
第三步 指令 exportfs
exportfs指令的常用選項為-a,,-r,-u和-v
-a:全部挂載或解除安裝
-r:重新挂載
-u:解除安裝某一個目錄
-v:顯示共享的目錄
當改變/etc/exports配置檔案後,使用exportfs指令挂載不需要重新開機 NFS服務
修改服務端的配置檔案:
# vim /etc/exports //增加一行:
/tmp/ 192.168.188.0/24(rw,sync,no_root_squash)
然後在服務端上執行如下指令:
# exportfs -arv
exporting 192.168.188.0/24:/tmp
exporting 192.168.188.0/24:/home/nfstestdir
