尽管目录具有正确的权限并且用户属于正确的组,但用户无法进入其组的目录

尽管目录具有正确的权限并且用户属于正确的组,但用户无法进入其组的目录

我有一个名为的目录/workspace,如下所示:

[root@machine workspace]# ls -al
total 7
drwxr-s---. 7 root workspace 4651468242 Nov 16 14:41 .
dr-xr-xr-x. 22 root root 4096 Nov 15 11:36 ..
(我省略了它的子目录。您可以看到它/workspace属于该组workspace

然后有一个用户yang,其id状态如下:
[root@machine workspace]# id yang
uid=563(yang) gid=1701(yang) groups=1701(yang),1044(workspace)
这应该允许他进入,/workspace但实际上他不能:
[root@machine workspace]# su - yang
Last login: Mon Nov 22 10:05:41 CST 2021 on pts/46
[yang@machine ~]$ cd /workspace/
-bash: cd: /workspace/: Permission denied
但是,在群组中的所有用户中workspace,他是唯一一个遇到此问题的用户。 其他用户可以/workspace正常访问,例如:
[root@machine workspace]# id zhao
uid=651(zhao) gid=651(zhao) groups=651(zhao),1044(workspace)
[root@machine workspace]# su - zhao
Last login: Mon Nov 22 10:13:27 CST 2021 on pts/103
[zhao@machine ~]$ cd /workspace/
[zhao@machine workspace]$
更多详细信息请见:
[yang@machine ~]$ id
uid=563(yang) gid=1701(yang) groups=1701(yang),1044(workspace) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[zhao@machine ~]$ id
uid=651(zhao) gid=651(zhao) groups=651(zhao),1044(workspace) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
CentOS 6.9 和 7.9 都遇到了这个令人沮丧的问题。有人能帮我解决吗?谢谢!

答案1

好的,在一位同事建议我补充组可能存在上限之后,我仔细检查了一下,发现它/workspace位于nfs带有命令的驱动器上df -hT,并且根据RFC5531,当使用AUTH_SYS身份验证时,默认的最大组ID数量为16。我发现了一个NetApp 提供的指南教您如何更改默认限制。虽然在实践中,不同供应商的方法应该有所不同,但它仍然可以为您提供一个总体思路。

另一个教训是提问时不要遗漏任何东西。事实证明,yang我属于超过 16 个群组,而大多数其他用户都没有超过这个数字。我遗漏了其他群组,认为它们太长、太突兀,但最终,它们才是问题所在。

相关内容