文件所有者必须属于文件组吗?

use*_*760 22 permissions group

我对 *nix 系统上的文件权限有一个相当简单的理解。我知道有一个文件所有者和文件组,但是对于所述文件所有者是否也必须属于该文件组,是否有硬性规定?或者换句话说,文件可以属于所有者不属于的组吗?

如果是(或如果不是),为什么?我想增加我的理解......我似乎无法在互联网上找到任何专门谈论这个的东西......我也愿意阅读一些关于这个主题的好阅读材料。

mat*_*tdm 29

不,文件的所有者不需要属于该文件的组。没有适当的机制来检查或执行这一点。此外,用户可以一次属于一个组,然后被删除;不会通过文件系统检查冲突的文件。

基本上,文件的所有者和组元数据就在磁盘上,没有任何外部链接。(切线:它由数字用户 id 和组 id存储,这些由系统在询问时解析。)

此外,一次只使用一组权限——如果您是所有者,则只查看所有者权限,组权限无关紧要。如果您不是所有者但在组中,则使用组权限。最后,如果您既不在组中也不在所有者中,则使用“其他”权限。如果您既是文件的所有者又是文件所在的组,则组位无关紧要。

  • 你是说如果我是一个文件的所有者,并且我在“拥有”它的组中,并且该组具有写入和执行权限而我只有读取权限,那么组权限将被忽略为了我? (2认同)
  • @iconoclast 那是正确的。创建一个文件并在其中键入“Hello world”。它拥有您的用户和组所有权。然后,在它上面做一个 `chmod 460` 并尝试编辑它。我相信我已经在某处读过它,但所使用的术语是 Unix 文件中的用户和组权限是*解耦*的。 (2认同)