Permissions

chown 在已掛載的 NFS 分區上給出“不允許操作”

  • September 5, 2017

我有一個使用 NFS 在本地安裝的遠端分區。

‘mount’ 給出

192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)

在我有出口的伺服器上:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check)

然後我嘗試

touch /pools/test1
ls -lah
-rw-r--r--  1 65534 65534    0 Dec 13 20:56 test1
chown root.root test1
chown: changing ownership of `test1': Operation not permitted

我錯過了什麼?把我的頭髮拉出來。

預設情況下,root_squash導出選項是打開的,因此 NFS 不允許來自客戶端的 root 使用者以 root 使用者身份在伺服器上執行操作,而是將其映射到anonuidanongidoptions 指定的使用者/組 ID(預設 = 65534)。這可以/etc/exports與其他導出選項一起配置。

閱讀exports(5)有關“根擠壓”的部分:

通常,在訪問 NFS 伺服器上的文件時,客戶端電腦上的 root 使用者也被視為 root 是不可取的。為此,uid 0 通常映射到不同的 id:即所謂的匿名或無人 uid。這種操作模式(稱為“root squashing”)是預設的,可以使用 no_root_squash 關閉。

所以你要:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check,no_root_squash)

(編輯錯字)

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