0

从其中一台服务器成功挂载目录(ZFS 远程存储)后,当我尝试更改目录的所有权时出现“不允许操作”错误。我正在使用以下命令:挂载远程目录:

mount -t nfs 10.1.32.33:/dir/temp/tools  /home/materials 

挂载目录后,内容属于nobody:nobody

在此处输入图像描述

我想更改所有权,以便可以在目录中运行安装程序。我正在使用下面的命令来更改所有权,但它不起作用:

chown -R otm:otm 材料/

我总是可以在不使用 ZFS 存储的情况下将文件上传到服务器,但是我想开始制作一个中央安装程序存储库,这样我就不需要为将来的服务器安装上传文件/安装程序。我很感激你们的帮助。

在此处输入图像描述

4

1 回答 1

1

NFS 服务器默认不允许 root 访问文件 - root 通常映射到“nobody”。

“根南瓜”

root squash[2][3] 是在使用身份验证时减少远程超级用户 (root) 的访问权限(本地用户与远程用户相同)。它主要是 NFS 的一项功能,但也可能在其他系统上可用。

当多个用户共享远程文件系统时会出现此问题。这些用户属于一个或多个组。在 Unix 中,每个文件和文件夹通常对所有者(通常是文件的创建者)、所有者所属的组和“世界”(所有其他用户)具有单独的权限(读、写、执行) . 这允许仅对授权用户进行读写访问限制,而 NFS 服务器通常也必须受到防火墙的保护。

超级用户拥有比普通用户更多的权限,能够更改文件所有权、设置任意权限以及访问所有受保护的内容。即使确实需要对单个工作站具有 root 访问权限的用户也可能无权在共享文件系统上执行类似操作。root squash 减少了远程 root 的权限,使一个不再是超级用户。在类 UNIX 系统上,可以在服务器端的 /etc/exports 文件中打开和关闭 root squash 选项。

实施 root squash 后,授权的超级用户在直接登录 NFS 服务器后执行受限操作,而不仅仅是挂载导出的 NFS 文件夹。

通常,除非您真的知道自己在做什么,否则您希望禁用 root squash,因为如果这样做会造成严重的安全问题。因为你甚至不知道它的存在......

(并且提到的/etc/exports是一个非常有限的陈述,在许多系统上都是错误的——比如 Solaris。)

于 2016-04-06T09:57:12.503 回答