小编qqi*_*ihq的帖子

NFS 和 all_squash 混淆

对于一些临时的数据迁移任务,我需要设置一个 NFS 服务器。两台机器上的 UID 不匹配,所以我需要以某种方式避免权限问题。

幸运的是,我想,有一个all_squash选择。它说:

all_squash:将所有 uid 和 gid 映射到匿名用户。对于 NFS 导出的公共 FTP 目录、新闻假脱机目录等很有用。相反的选项是 no_all_squash,这是默认设置。

为了映射到我想要的用户和组,我还指定了anonuid=12345anongid=15101982

anonuid 和 anongid:这些选项明确设置匿名帐户的 uid 和 gid。此选项主要用于 PC/NFS 客户端,您可能希望所有请求都来自一个用户。例如,考虑下面示例部分中 /home/joe 的导出条目,它将所有请求映射到 uid 150(应该是用户 joe 的请求)。

在连接到 NFS 共享的客户端上创建一个文件,正如预期的那样,我看到以下行为(uid/gid 已更改为12345):

$ touch test && ls -l test
-rw-rw-r-- 1 12345 12345 0 Aug 25 18:10 test
Run Code Online (Sandbox Code Playgroud)

但是,共享上已存在的文件仍具有其原始 uid 和 gid:

$ ls -l existing-file
-rw-rw-r-- 1 98765 98765 0 Aug 25 18:11 existing-file …
Run Code Online (Sandbox Code Playgroud)

nfs uid

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

nfs ×1

uid ×1