![文件系统权限在共享 NFS 导出的不同系统上如何表现?](https://linux22.com/image/68169/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9D%83%E9%99%90%E5%9C%A8%E5%85%B1%E4%BA%AB%20NFS%20%E5%AF%BC%E5%87%BA%E7%9A%84%E4%B8%8D%E5%90%8C%E7%B3%BB%E7%BB%9F%E4%B8%8A%E5%A6%82%E4%BD%95%E8%A1%A8%E7%8E%B0%EF%BC%9F.png)
我熟悉 Linux 权限如何在单台计算机上工作,但是共享目录(特别是通过 NFS)时会发生什么?
另外,当两个用户看似相同(相同的名称、UID 等)时会发生什么,是否有某种方法可以让 NFS 相信不同系统上的两个用户实际上是相同的并且应该具有相同的权限?
答案1
您可以使用 NFSv3 映射用户和组 ID。如果您不想映射 ID,请使用 NFSv4,它映射用户名和组名。
因此,如果您有两个不同的客户端,每个客户端都有一个名为的用户user-host-a
,并且user-host-b
UID 均为 500,则在使用 NFSv3 时,它们都可以访问这些文件。
如果您有两个不同的客户端,并且用户myuser
使用不同的 ID 进行调用(主机 a 上为 500,主机 b 上为 501),则在使用 NFSv4 时,该用户将有权访问 NFS 文件。
简而言之,不,除了保持 ID 或名称相同之外,您无法让 NFS 相信两个不同的用户实际上是相同的。
另一种方法可能是使用 NFSv4 并使用 ACL 向两个用户帐户授予访问权限。在 NFSv3 上,您可以为两个帐户创建一个公共组,并更改 NFS 服务器上文件的组 ID。