NFS 上的默认目录权限

NFS 上的默认目录权限

我有两台服务器,client它们server的角色相当明显:server托管 NFS 共享并client安装它。在clientcall上的多个用户之间有一个共享组,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 ..

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

NFS 导出文件server如下所示:

/export/share 10.0.0.0/24(rw,nohide,insecure,no_subtree_check,async)

安装在里面client看起来/etc/fstab像这样:

10.0.0.1:/export/share /mnt/share nfs _netdev,noatime,intr,auto 0 0 

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)

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

例如,一个用户jack

user@server $ id jack
uid=1001(jack) gid=1001(jack) groups=1001(jack),1010(shared)

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

user@client $ sudo -u jack touch /mnt/share/a
touch: cannot touch `/mnt/share/a': Permission denied

为什么这没有按预期工作?jack既然他是该组的成员,我是否应该能够创建此文件夹中的文件和文件夹shared

答案1

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

您可能想仔细阅读NIS 指南

答案2

NFS 使用“groupid”和“userid”,即实际数字而不是名称。确保组和用户在服务器和客户端上具有相同的 ID。在服务器和客户端上检查/etc/passwd和。/etc/group理想的设置是通过 NIS 或 LDAP 服务器共享所有用户和组。

相关内容