在已安装的 NFS 分区上 chown 时显示“操作不允许”

在已安装的 NFS 分区上 chown 时显示“操作不允许”

我有一个远程分区,已使用 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

我错过了什么?拔掉我的头发。

答案1

默认情况下,root_squash导出选项处于打开状态,因此 NFS 不允许客户端的 root 用户以 root 身份在服务器上执行操作,而是将其映射到anonuid和选项指定的用户/组 ID(默认值为 65534)。这可以与其他导出选项一起anongid配置。/etc/exports

答案2

exports(5)阅读有关“根挤压”的部分:

通常,当访问 NFS 服务器上的文件时,不希望客户端计算机上的 root 用户也被视为 root。为此,uid 0 通常被映射到不同的 id:所谓的匿名或 nobody uid。此操作模式(称为“root squashing”)是默认模式,可以使用 no_root_squash 关闭。

所以你要:

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

(修改了错别字)

相关内容