我有一个 NFS 共享文件夹(存储),网络上的其他计算机可以访问它。正确的用户可以读取和写入该存储中的文件和文件夹,但我创建了另一个用户,并将与原始用户相同的组作为次要组,但当我尝试访问数据时,系统提示权限被拒绝。
以下是详细信息:
在存储服务器端(Debian 10):
$> cat /etc/exports
/storage 10.0.0.0/16(rw,sync,no_subtree_check)
$> id original_user # I replaced the real user by "original_user" but the rest (IDs) is the same
uid=1010(original_user) gid=1010(original_user) groups=1010(original_user)
(第二个用户不在存储服务器上)
在客户端服务器(Debian 10)上:
$> cat /etc/auto.storage
storage -fstype=nfs,rw storage:/storage
$> cat /etc/auto.master
+auto.master
/var/nfs /etc/auto.storage --ghost
$> id original_user
uid=1010(original_user) gid=1010(original_user) groups=1010(original_user)
$> id second_user
uid=1001(second_user) gid=1001(second_user) groups=1001(second_user),1010(original_user)
正如您所见,second_user
它位于正确的组上。
现在,文件夹权限:
$> ls -l /var/nfs/storage/
drwxr-x--- 3 original_user original_user 4096 Jun 23 15:43 data
(组具有读取和执行权限,因此组内的每个人都original_user
应该有权访问 的内容data
)。
但是当我尝试以下操作时second_users
:
$second_user> ls -l /var/nfs/storage/data/
-bash: cd: /var/nfs/storage/data/: Permission denied
这是为什么?
我发现 Debian 在 /etc/default/nfs-kernel-server 的 RPC 上添加了 --manage-gids:
RPCMOUNTDOPTS="--manage-gids"
我尝试对其进行评论并重新启动服务器,这导致 nfs 存储停止可用(尝试/var/nfs/storage
在客户端上列出永远挂起)。
我错过了什么?