Nfs

將本地使用者的 UID 和 GID 映射到掛載的 NFS 共享

  • October 7, 2019

我有一台 NFSv4 的伺服器。我正在將遠端使用者的主文件夾的內容安裝到本地主機。能夠讀取和寫入內容,但是當我從本地主機檢查已安裝卷上文件的所有權時,它們都屬於相應的遠端使用者和組(512)。有沒有辦法讓它看起來像是屬於本地主機上的本地使用者和組(1000)?

遠端主機上的**/etc/exports**(IP 為 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)

本地主機上的**/etc/fstab (IP 為 192.168.1.142)**

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0

這就是 idmapping 應該做的。首先,啟用是在客戶端和伺服器上:

# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

清理 idmap 記憶體並重新啟動 idmap 守護程序:

# nfsidmap -c
# service rpcidmapd restart

現在在伺服器上,客戶端將發送而不是數字 ID 字元串主體,例如 bob@YOURDOMAIN.COM。您需要在兩個主機上都有bob帳戶 - 客戶端和伺服器。然而,數字 ID 可以不同。

你有所有的碎片。從 exportfs 手冊頁,all_squash將所有 uid 和 gid 映射到匿名版本。您所寫的內容將這些值強制為 512。如果您更改為 1000,則遠端主機上的 nfs 伺服器會將所有內容設為 1000,並且應該授予訪問權限。

引用自:https://serverfault.com/questions/514118