這次由於工作中需要,在Ubuntu系統下進行了NFS服務器的配置,NFS,是Network File System的簡寫,即網絡文件系統。網絡文件系統是FreeBSD支持的文件系統中的一種,也被稱爲NFS. NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。
NFS服務器配置:
1.安裝Ubuntu nfs
Ubuntu上默認是沒有安裝Ubuntu nfs服務器的,因此我們首先安裝Ubuntu nfs服務器端:$sudo apt-get install nfs-kernel-server. 在安裝nfs-kernel-server時會根據相關性自動安裝客戶端nfs-comm和端口映射器portmap。
2.配置/etc/exports
$sudo gedit /etc/exports 在文件裏添加一句/tftpboot/rootfs *(rw,sync,no_root_squash)其中:
/tftpboot/rootfs 是要共享的目錄
* 是代表允許所有的網絡段訪問
rw 是可讀可寫的權限
sync 是資料同步寫入內存和硬盤
no_root_squash 是Ubuntu nfs客戶端分享目錄使用者的權限,即root用戶具有根目錄的完全管理訪問權限
其它Ubuntu nfs常用的參數有:
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
3.重啟服務器
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart
4.驗證
此時可以運行以下命令來顯示一下共享出來的目錄:$showmount -e
/tftpboot/rootfs
在/mnt 下創建nfs文件夾,用命令$sudo mount -t nfs localhost:/tftpboot/rootfs /mnt/nfs
$ls /mnt/nfs查看nfs文件夾下面是否顯示的是/tftpboot/rootfs/文件下的東西
卸載 $sudo umount /mnt/nfs