1、安裝nfs服務(wù)
$ sudo apt-get install nfs-kernel-server (nfs-common portmap這兩個(gè)包,系統(tǒng)會(huì)根據(jù)依賴關(guān)系自動(dòng)下載)
2、配置nfs
配置/etc/exports文件
$ sudo vim /etc/exports
在文件最后加入如下內(nèi)容:
/nfs *(rw,sync,no_root_squash)
注:nfs允許掛載的目錄及權(quán)限在文件/etc/exports中進(jìn)行了定義。其中:/nfs是要共享的目錄,*代表允許所有的網(wǎng)絡(luò)段訪問,rw是可讀寫權(quán)限,sync是資料同步寫入內(nèi)存和硬盤,no_root_squash是nfs客戶端分享目錄使用者的權(quán)限,如果客戶端使用的是root用戶,那么對(duì)于該共享目錄而言,該客戶端就具有root權(quán)限。
nfs常用的參數(shù)有:
ro 只讀訪問
rw 讀寫訪問sync 所有數(shù)據(jù)在請(qǐng)求時(shí)寫入共享
async nfs在寫入數(shù)據(jù)前可以響應(yīng)請(qǐng)求
secure nfs通過1024以下的安全TCP/IP端口發(fā)送
insecure nfs通過1024以上的端口發(fā)送
wdelay 如果多個(gè)用戶要寫入nfs目錄,則歸組寫入(默認(rèn))
no_wdelay 如果多個(gè)用戶要寫入nfs目錄,則立即寫入,當(dāng)使用async時(shí),無需此設(shè)置。
hide 在nfs共享目錄中不共享其子目錄
no_hide 共享nfs目錄的子目錄
subtree_check 如果共享/usr/bin之類的子目錄時(shí),強(qiáng)制nfs檢查父目錄的權(quán)限(默認(rèn))
no_subtree_check 和上面相對(duì),不檢查父目錄權(quán)限
all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash 保留共享文件的UID和GID(默認(rèn))
root_squash root用戶的所有請(qǐng)求映射成如anonymous用戶一樣的權(quán)限(默認(rèn))
no_root_squas root用戶具有根目錄的完全管理訪問權(quán)限
anonuid=xxx 指定nfs服務(wù)器/etc/passwd文件中匿名用戶的UID
anongid=xxx 指定nfs服務(wù)器/etc/passwd文件中匿名用戶的GID
3、重啟服務(wù)
$ sudo /etc/init.d/portmap restart
$ sudo /etc/init.d/nfs-kernel-server restart 或 #sudo service nfs-kernel-server restart
4、測(cè)試nfs服務(wù)器
顯示出共享出來的目錄
$ showmount -e
將nfs的rootnfs目錄掛載到本地磁盤上。
$ sudo mount -t nfs localhost:/nfs /mnt/nfs
查看掛載情況
$ df
卸載掛載
$ sudo umount /mnt/nfs