欲實現的功能:
實現當多臺NFS客戶機掛載同一臺NFS服務器時,每臺客戶機都能對共享文件進行讀寫操作。
解決思路:
讓所有NFS客戶端寫入到NFS Server的目錄或文件在NFS Server上的用戶和組都是同一個名稱(nfs-test)。老表用一臺服務器(nfs-server)和兩臺客戶機(nfs-client001和nfs-client002)進行測試。
實施和測試:
1.創建一個NFS共享用戶(nfs-test),並且所有機器的UID和GID都一樣。
a.在nfs-server上:useradd -u 555 nfs-test。創建後用id nfs-test查看。
2.配置/etc/exports文件:vim /etc/exports
/share 192.168.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555)
all_squash:保證所有用戶都能壓縮成一個用戶。
anonuid=555和anongid=555:指定每個用戶下都有並且存在的。
3.平滑重啓nfs服務生效:/etc/init.d/nfs-kernel-server reload
注意:上邊是ubuntu下的重啓,在CentOS下命令爲:/etc/init.d/nfs reload
4.在客戶端掛載:mount -t nfs 192.168.1.103:/share /mnt
在nfs-client002上掛載和上邊的方式是一樣的。
5.測試
a.在nfs-server上查看/share目錄權限:ls -ld /share
當此目錄的權限爲上圖中所示和屬主是root時測試如下:
/share 192.168.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555)
解析:即/share這個共享目錄可以被屬主爲555的所有用戶使用,但是現在的/share屬主爲root,不是nfs-test,且nfs-test的屬主爲555。所以這裏操作時提示爲權限不夠。所以需要修改nfs-test的屬主。
b.修改nfs-test的屬主:chown -R nfs-test.nfs-test /share/
修改後測試:
總結:
1.注意共享目錄或文件的屬主,要將共享目錄或文件的屬主修改爲服務器和客戶機同UID的屬主纔可實現功能。