我想知道 Unix/Linux 系统需要哪些用户。我找到了一份文档,它告诉我需要三个必要的用户:root、bin 和 daemon。
对于user bin和user daemon,我还是搞不懂它们是干什么用的。以下是文档对它们的描述:
注意:包含 bin 用户 ID/组 ID 是为了与旧版应用程序兼容。新应用程序不应再使用 bin 用户 ID/组 ID。
守护进程用户 ID/组 ID 被用作非特权用户 ID/组 ID,供守护进程在其下执行以限制它们对系统的访问。通常,守护进程现在应该在单独的用户 ID/组 ID 下运行,以便进一步将守护进程彼此分开。
bin
和daemon
用户的用途是什么?首先,请注意您所指的文档是 Linux Standard Base,它列出了系统被视为 LSB 兼容的要求,而不是它们通常是可行的。
很久以前,守护进程以 root 身份运行。这最终被认为是不可取的,因为这意味着任何守护进程都可以在系统中做任何它想做的事情。因此
daemon
引入了用户:守护进程以用户身份运行daemon
,因此它们仅限于该用户可以执行的操作。原因
bin
与此类似,并且已经过时了三十年......如今,如 LSB 中所述,它们仅出于遗留原因而存在,即能够运行假设这些用户存在的古老软件。当前的软件不需要它们。
Linux/Unix 系统需要哪些用户?
对此的简短回答是,无论系统使用什么用户。
然而,所有 Linux 和 Unix 风格的系统都有规定可以假定某个基线的策略。这包括默认系统用户和组;参见例如Debian Policy(它定义了框架)和Debian 系统用户的主列表。任何 Debian 软件包都可以假定这些用户存在:策略指定他们是
(虽然 Debian 政策是描述性的,而不是规范性的,但它确实建立了 Debian 其余部分所依赖的一些假设)。
因此,理论上您可以删除系统当前未使用的任何用户和组;然而,这可能会导致未来的破损,因为您安装新的软件包或升级现有的软件包。
bin
(不可否认,这对于和来说是极不可能的daemon
。)