假设您已经创建了一个守护进程(自定义编写的)并想要为该程序创建新的 uid/gid。
有没有什么标准做法?
例如
- uid 和 gid 应该相同吗?
- id应该从1000开始吗?
或任何?
我问这个问题的原因是我目前使用的是动态分配,但是当我有多台机器时,使用固定数字似乎是一个不错的选择?
更新:我正在使用 Ubuntu
答案1
- 低于 100 的 UID 通常保留用于系统帐户和服务。
- 100 到 1000 之间的 UID 通常为 Oracle、Apache 等应用程序保留。
- 通常,用户帐户的起始编号为 1000 甚至更高。考虑到大多数 Unix 系统上可用的 UID 数量(65,535 甚至更多),几乎不存在 UID 用尽的可能性。在 64 位系统上,UID 至少存储在 32 位字段中,这意味着最大值要高得多。
一些发行版(例如 RHEL)建议设置用户私有组(upg),其应该具有与用户的 uid 相同的 gid。
这里有一些很好的指南:
http://www.softpanorama.org/Access_control/Groups/index.shtml
http://www.softpanorama.org/Access_control/Groups/primary_group.shtml
答案2
每个 Linux 发行版都有标准做法。例如,在 Debian 中,守护进程的软件包将负责创建“动态分配”的系统用户和组。每个用户和组的 ID 通常在 100 到 999 之间(请参阅政策手册,第 9.2.2 节,作为参考)。
当然,即使您没有打包守护进程,而是将其安装在一台机器上,这样做也被认为是一种很好的做法;因为它们是动态分配的,所以这不会干扰其他软件。