我有多个共享主目录和数据目录的 GNU/Linux 安装。随着时间的推移,这些目录中的一些用户文件已收到组 ID100(users
Linux某些变体下的组),其他有组ID1000(也是users
其他变体下的组)。
现在我希望统一users
所有发行版之间的组 ID,但我应该选择哪一个?
我记得有一个 Linux 标准,它给出了推荐的 GID 吗users
?如果没有,还有其他推荐或趋势吗(我不是问个人喜好)?
答案1
LSB 指定一些组名称,但users
不是其中之一。
http://refspecs.linux-foundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/usernames.html
在全新的设置中,您可能更愿意避免使用 1000。这种方式useradd
有效,它将为每个用户分配一个组,并且用户和组 ID 的数字标识符将方便地以相同的方式结束。我将其称为现代多用户系统的首选方法(我认为旧系统默认为共享组,例如users
用户的主要组)。
我的用户不一定是 Fedora 或 Debian 上这样的共享组的成员。在这种情况下,分配什么数字有点学术性——它只是另一个系统组,在不同的发行版之间有所不同。 (还有另一个群体,比如bin
在现代没有明显目的的群体)。
LSB 表示 UID 和 GID 0-99 是由系统静态分配的。 UID 100-499(以及所有现代系统上的 100-999)是应该动态分配。这得到了证实Debian 政策手册;它只是不具备严格真实的优点目前。
我不太确定 如果组分配的顺序由于某种原因发生变化,这可能不是一个安全的假设。users
在 Debian 系统上看到的 100 意味着什么。
在 Fedora 上,假设您可以分配 id 100 是相当安全的,因为 id 100-1000 的自动分配实际上很重要向下。 (需要明确的是,这与 Debian 相反)。
考虑到您目前的信息,可能的选择:
- 停止使用该组
users
。但您可能有一些共享文件,并且无论如何您都需要分配一个共享组 ID。 - 使用 100,并希望如果您[重新]安装一个像 Debian 这样分配从 100 开始计数的系统 ID 的系统,它不会崩溃。
- 使用足够高的值,例如 10000,它永远不会自动分配。
- 如果您现有的系统没有将其用于其他用途,并且您从不打算添加访问您的文件系统的新操作系统,请使用 1000。[*]
- 在 500-1000 范围的开头分配一个免费 ID。 (五年前的 Fedora,从 499-100 倒数而不是 999-100,所以我不能排除你有这样的分配)。
[*] 一旦安装了系统,您就可以添加具有任何您想要的 ID 的用户。但我担心的是,操作系统安装程序创建的初始用户可能有 ID 和 GID 1000,不允许您更改它们,特别是如果它不创建用户,root
那么稍后更改其 ID 可能会很烦人)。
10000 个选项对我来说听起来最简单。如果您曾经创建一个新系统或指导其他人,那么它会很好地工作。它也应该适用于您当前的系统。