为什么每个用户都有自己的组?

为什么每个用户都有自己的组?

我在最近的许多发行版中注意到的一件事是,用户都有自己的组,其名称与其用户名相同。这样做的目的是什么?组是通过某些方式将用户分组在一起的,例如用户,管理,等等。拥有所有这些单用户组似乎毫无意义。我好像记得以前Unix系统确实有每个人的默认组是用户

答案1

从本质上讲,它是缓解某些安全问题的策略的一部分,同时允许用户以简单的方式进行协作,减少权限麻烦。

Linux 系统有一个所谓的掩码,这决定了文件和目录权限创建时分配。默认情况下,此umask通常为022,它创建具有644权限的文件(所有者读/写,组只读,其他只读)并创建通常应用于新文件和目录的限制性设置。

不幸的是,缺乏对组的读/写意味着您必须依赖创建该文件的人来授予组编辑该文件的适当权限(并且用户在这方面并不总是可靠)。

帮助解决此问题的部分方法是将 umask 设置为 002,这会导致文件具有 664 权限(所有者读/写、组读/写,其他只读)。但这可能会产生不需要的副作用(例如,团队成员可以根据默认组编辑彼此的私人文件)。因此,每个新用户都成为只有一个用户的默认组的一部分(模拟 022/644 方案)。

有关这如何有助于协作的更多信息: https://security.ias.edu/how-and-why-user-private-groups-unix

相关内容