有一个关于系统强化/安全标准的专有文档指出,组users
、nogroup
、other
和其他一些组不应包含除系统管理员之外的任何用户。我找到了关于nogroup
组的解释这里。那么users
和other
组呢?它们是做什么用的?为什么普通(非管理员)用户不应成为这些组的成员?
答案1
人们可能很容易认为这users
应该分配给每个非守护程序用户,但事实并非如此。请记住,组是控制权限的一种手段......如果那样的话是如此的话岂不是就没有users
意义了?想象一下尝试使用该组:要使属于组的文件保持users
私有,您需要为“组”分配与“其他”相同的权限位,如下所示每一个用户将是该组的一部分。多余且无用,甚至令人讨厌。
事实上,该users
组的存在只是为了分配给不需要属于任何其他组的用户,就权限而言。它基本上存在只是因为每个用户都必须至少是主要群体(您可以在 中找到/etc/passwd
)...users
如果没有为用户分配组,则可以将其视为“后备”。 (useradd
如果没有给出组并且同音异义组被禁用,该实用程序实际上将其用作后备)
出于同样的原因,您会发现该users
组通常不会获得文件系统上的任何特定权限:没有管理员会创建该组拥有的文件users
(如果他想允许任何用户操作文件,他会改用chmod o+rwx
)。因此,无论您是否属于该组,它都不会授予您任何特殊权限...这就是为什么,除非您没有被分配到其他组,否则绝对不需要分配一个用户对它的认可(从许可角度来说,它的重要性与 的非常相似nogroup
)。
至于该other
组,我在我的新 CentOS 7 安装和 Ubuntu 14 中都没有看到它,所以我猜测您阅读的文档指的是other
自由访问控制位的部分(您可以选择的最后一个八进制数字)编辑chmod
),或者由某些应用程序创建和使用的组...因此,询问其存在的原因就像询问为什么由 nginx 创建的组“www-data”存在:它仅取决于应用程序的内容创建该组的人想要处理它。