为什么您必须是某个组的成员才能使该组成为您的文件的组所有者?

为什么您必须是某个组的成员才能使该组成为您的文件的组所有者?

在unix中,我知道你必须是某个组的成员才能将文件的组所有者更改为该组,即使你拥有该组,但有人可以告诉我原因吗?我不明白为什么如果该组不是您的成员,您不应该能够更改对您的文件具有特殊访问权限的组。

答案1

因为如果您能够恶意甚至意外地将文件的所有权更改给其他组,则可能会对与您没有真正关系的其他人造成一些伤害。但如果你是一个团体的成员,那就意味着你有参与其中的权利。无论什么伤害了这个群体,最终都可能伤害你。这也是同样的原理,为什么只有 root 才能将文件的所有权从一个用户更改为另一个用户。这是一种安全措施。

答案2

@Melburslan 他的解释是正确的,但也遗漏了一个关键因素。配额。如果您能够将组成员身份更改为您不拥有的内容...您可以有效地绕过可能的配额限制。此外,这还可以防止“setgid”位的安全漏洞。即,如果您在文件上设置“setgid”位,然后将组更改为具有您不是其成员的管理权限的组...您可以启动您通常没有权限的进程。

相关内容