NFS 檔案分享權限設定能解決在叢集環境片、附件等檔案分享權限設定的問題。現在假設有兩台機器192.168.1.10和192.168.1.11我們將192.168.1.10做為服務端,192.168.1.11作為用戶端。一、服務端操作1.安裝NFS服務端[plain] sudo apt-get install nfs-kernel-server 2.開啟/etc/exports檔案,在末尾加入:[plain] /home/zdw *(rw,sync,no_root_squash) 其中/home/zdw 是你要共用的目錄* :允許所有的網段訪問rw :讀寫權限sync:資料同步寫入內在和硬碟no_root_squash:nfs用戶端共用目錄使用者許可權如果需要指定只對某個網段(如192.168.1.1~192.168.1.192)可以這樣設定[plain] sudo /usr/local/www/ 192.168.1.*(rw,sync,no_root_squash,no_subtree_check) 也可以手動指定多個網段[plain] /usr/local/www/ 192.168.1.10(rw,sync,no_root_squash,no_subtree_check) 192.168.1.11(rw,sync,no_root_squash,no_subtree_check) 多目錄共用添加多行即可。 3.重啟服務[plain] sudo /etc/init.d/portmap restart <---重啟portmap, sudo /etc/init.d/nfs-kernel-server restart <---重啟nfs服務 showmount -e <---顯示共用出的目錄 二、用戶端端操作1.安裝nfs服務安裝nfs-common或nfs-kernel-server都行[plain] sudo apt-get isntall nfs-common 或[plain] sudo apt-get install nfs-kernel-server 2.掛載[plain] sudo mount -t nfs 192.168.1.10:/usr/local/www /usr/local/www 這一命令就已經將10上的/usr/local/www 目錄掛載到客戶機的/usr/loca/www目錄上了。可以在客戶機上掛載目錄裡建立一個檔案進行測試。[plain] sudo touch 1.txt 加到服務端上查看發現檔案已經存在了,共用成功。3.取消掛載[plain] sudo umount /usr/local/www 如果取消掛載的時候提示 “/usr/local/www device is busy ” 的提示,表示目錄正在使用,無法取消掛載。這裡我們可以執行如下命令:[plain] fuser -km /usr/local/www df -lh 完成後再執行umount命令就可以了。4.開機自動掛載如果想實現開機自動掛載,可以在/etc/rc.local檔案中exit 0之前加入我們要掛載的命令sudo mount -t nfs 192.168.1.10:/usr/local/www /usr/local/www即可。 三、附錄NFS常用參數[plain] ro 唯讀訪問 rw 讀寫訪問sync 所有資料在請求時寫入共用 async nfs在寫入資料前可以響應請求 secure nfs通過1024以下的安全TCP/IP連接埠發送 insecure nfs通過1024以上的連接埠發送 wdelay 如果多個使用者要寫入nfs目錄,則歸組寫入(預設) no_wdelay 如果多個使用者要寫入nfs目錄,則立即寫入,當使用async時,無需此設定。 hide 在nfs共用目錄中不共用其子目錄 no_hide 共用nfs目錄的子目錄 subtree_check 如果共用/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(預設) no_subtree_check 和上面相對,不檢查父目錄許可權 all_squash 共用檔案的UID和GID映射匿名使用者anonymous,適合公用目錄。 no_all_squash 保留共用檔案的UID和GID(預設) root_squash root使用者的所有請求映射成如anonymous使用者一樣的許可權(預設) no_root_squas root使用者具有根目錄的完全管理存取權限 anonuid=xxx 指定nfs伺服器/etc/passwd檔案中匿名使用者的UID anongid=xxx 指定nfs伺服器/etc/passwd檔案中匿名使用者的GID