NFS 上的默认目录权限

Naf*_*Kay 5 permissions nfs

我有两台服务器,client并且server扮演着相当明显的角色:server托管 NFS 共享并client安装它。在client被叫的几个用户之间有一个共享组,shared该组也存在于 上server。我对server共享的权限如下所示:

user@server $ ls -al /export/share/
drwxrwsr-x+ 3 shared shared    4096 Apr 19 01:25 .
drwxr-xr-x  3 root  root       4096 Apr 12 20:10 ..
Run Code Online (Sandbox Code Playgroud)

目标非常明确,我希望该shared组的所有成员都能够在此目录中创建、写入和删除文件。在客户端,ls -la挂载目录的 a 导致相同的结果。

NFS 导出文件server如下所示:

/export/share 10.0.0.0/24(rw,nohide,insecure,no_subtree_check,async)
Run Code Online (Sandbox Code Playgroud)

clientin上的安装/etc/fstab看起来像这样:

10.0.0.1:/export/share /mnt/share nfs _netdev,noatime,intr,auto 0 0 
Run Code Online (Sandbox Code Playgroud)

输出mount来自client

10.0.0.1:/export/share on /mnt/streams type nfs (rw,noatime,intr,vers=4,addr=10.0.0.1,clientaddr=10.0.0.2)
Run Code Online (Sandbox Code Playgroud)

但是,我似乎仍然无法使用组中的用户在该目录中创建文件。

例如,用户jack

user@server $ id jack
uid=1001(jack) gid=1001(jack) groups=1001(jack),1010(shared)
Run Code Online (Sandbox Code Playgroud)

如果我尝试触摸 上挂载文件夹中的文件client,权限将被拒绝:

user@client $ sudo -u jack touch /mnt/share/a
touch: cannot touch `/mnt/share/a': Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么这不能按预期工作?jack因为他是shared组的成员,所以我不应该能够像在这个文件夹中那样创建文件和文件夹吗?

slm*_*slm 3

/etc/passwd您如何传播/etc/group中包含的用户/组信息?您通常需要使用 NIS、LDAP 或 rsync/etc/passwd /etc/group将文件同步到自动挂载这些挂载的所有计算机。否则,客户端对文件系统的权限一无所知。

您可能想仔细阅读NIS Howto