普通用户和系统用户有什么区别?

Sea*_*red 170 users

我正在阅读的一些文档对用户是“系统”用户还是“普通”用户(默认为“普通”)有一个布尔开关。

这两种用户模式有什么区别?我不需要了解用户是什么或为什么需要他们(即使是“假”用户),但这种特殊的区别对我来说并不直观。

Hau*_*ing 119

这不是技术差异,而是组织决策。例如,在登录对话框中显示普通用户是有意义的(这样您就可以单击它们而不必键入用户名),但不会在那里显示系统帐户(守护进程和其他自动进程在其下运行的 UID) .

因此,为这两个组的 UID 定义了一个边界或两个范围。在 openSUSE 中,该文件/etc/login.defs包含以下几行:

# useradd 中自动 uid 选择的最小/最大值
#
# SYS_UID_MIN 到 SYS_UID_MAX 包含的范围是
# 动态分配的管理和系统帐户的 UID。
# UID_MIN 到 UID_MAX 是动态的 UID 范围
# 分配的用户帐户。
#
UID_MIN 1000
UID_MAX 60000
# 系统账号
SYS_UID_MIN 100
第 499 章

# 在 groupadd 中自动选择 gid 的最小/最大值
#
# SYS_GID_MIN 到 SYS_GID_MAX 包含的范围是
# 动态分配的管理和系统组的 GID。
# GID_MIN 到 GID_MAX 是动态的 GID 范围
# 分配的组。
#
GID_MIN 1000
GID_MAX 60000
# 系统账号
SYS_GID_MIN 100
SYS_GID_MAX 499

  • 值得注意的是,Debian 和其他系统会对大多数人隐藏系统规则(例如在管理系统身份验证选择的 PAM 规则中),这些规则根据 UID 是大于 1000 还是小于 1000 来区分。仔细选择您的 UID。 (6认同)

Gil*_*il' 46

主要区别在于帐户的用途,因此它主要是对管理员和审计员有用的区别。有一些技术差异——来自adduser文档:

将在 中创建没有老化信息的系统用户/etc/shadow,并且他们的数字标识符在SYS_UID_MINSYS_UID_MAX范围内选择,在 中定义/etc/login.defs,而不是UID_MINUID_MAX(以及用于创建组的 GID 对应项)。

据我所知(我不知道 Puppet),从 Puppet 的角度来看,不同之处在于它是否将-r选项传递给adduser.

有关更广泛的观点,请参阅是否可以从 /etc/passwd 中“隐藏”一个帐户?

  • 在 CentOS 上:虽然 `useradd --system foouser` 根据 `useradd(8)` 的手册页没有为该用户创建主目录(其中说:_注意,useradd 不会为这样的用户创建主目录,无论/etc/login.defs 中的默认设置(CREATE_HOME)。如果要创建系统帐户的主目录,则必须指定 -m 选项。_),新用户 `foouser` 的主目录是给出为“/etc/passwd”中不存在的“/home/foouser”。 (2认同)
  • 此外,UID 是通过从 SYS_UID_MAX 开始倒数来选择的,一般为 1000,因此我们以 foouser 为例,UID 为 998。 (2认同)