我的用户帐户samjaques
属于组sams
。我有两个文件夹,都在sams
组中。文件夹 1 归 root 所有,文件夹 2 归samjaques
.两者的权限都设置为---rwx---
.从终端(运行为samjaques
和sams
),我只能打开文件夹 1 而不能打开文件夹 2(文件夹 2 给出Permission denied
)。
我的猜测是,系统正在检查用户的权限,然后是组,然后是其他权限,如果在没有检查组的情况下拒绝用户,则拒绝权限。这是预期的行为吗?有原因吗?
一般来说,组权限高于用户权限是没有意义/不好的做法吗?
答案1
是的,如果访问进程的 EUID 与所属用户匹配,则仅检查用户权限。如果不是,但进程的 GID 与所属组匹配,则检查组权限。否则使用“其他”权限。球停在第一个匹配的身份处。
对于用户来说,拥有比组更少的访问权限并没有多大意义,因为通常拥有用户可以更改权限并为自己提供他们喜欢的任何访问权限。 (除了 SELinux 等)
但在组与其他组的情况下,它可能有点道理:您可以拒绝对特定组的访问,同时允许其他人访问。例如,对于 拥有的文件someuser:somegroup
,如果具有权限rw----r--
,则 的成员somegroup
无法访问它,但非 的成员的任何人somegroup
都可以读取该文件。