即使用户是组的一部分,也无法访问组文件

即使用户是组的一部分,也无法访问组文件

test我正在尝试以 user 身份访问目录ayush。该目录由用户拥有ayush并具有组git 该目录具有权限 0070 和组git,并且ayush是该组的成员。

ayush:~> ls -ld
drwxr-xr-x 7 ayush git 4096 Feb 15 11:33 .
ayush:~> ls
test
ayush:~> ls -ld test/
drwxrwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> chmod 070 test/ 
ayush:~> ls -ld test/
d---rwx--- 3 ayush git 4096 Feb 15 11:34 test/
ayush:~> ls -l test/ 
ls: cannot open directory test/: Permission denied
ayush:~> groups
git
ayush:~> id
uid=11417(ayush) gid=30(git) groups=30(git)

我已经看到这个错误有一段时间了,以前不存在。这不是一个新组,我已经在一些代码中使用了它。

顺便说一句,我切换到了另一个用户,他也是该组的一部分,他能够毫无问题地访问“test”目录。

编辑1:不仅如此,我无法更改具有 770 权限的文件夹“test”的组。我收到“不允许操作”错误。而且,我只在“git”组中面临这个问题。我可以将文件夹的组切换到我所属的另一个组。但随后我无法将用户切换回“git”。

答案1

由于您是文件的所有者,因此适用“用户”权限。

仅当您不是所有者时,组权限才适用。

同样,“其他”权限仅适用于您不是所有者且不在该组中的情况。

唯一的区别是root用户,即使权限另有说明,他们也可以读取文件:-)

答案2

我发现了这个问题。我的组上限为 16 个,并且我已将我的用户添加到 17 个组。 “git”组被列为最后一个组,因此在进行组操作时我没有被算作其中的成员,因为只考虑了前 16 个组。

相关内容