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


124

我正在阅读的一些文档对用户是“系统”用户还是“普通”用户(默认为“普通”)进行了布尔切换。

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

Answers:


85

这不是技术差异,而是组织决策。例如,在登录对话框中显示普通用户是有意义的(这样您就可以单击它们,而不必键入用户名),但是在此处不显示系统帐户(运行守护程序和其他自动进程的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
SYS_UID_MAX 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

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

38

主要区别在于帐户的用途,因此它主要是对管理员和审计员有用的区别。有一些技术上的区别–与adduser文档中的区别:

系统用户将与没有老化的信息创建/etc/shadow,和它们的数字标识符被选择在SYS_UID_MIN- SYS_UID_MAX范围内,所定义/etc/login.defs,而不是UID_MIN- UID_MAX(和它们的GID对应用于创建组)。

据我所知(我不认识Puppet),与Puppet的观点不同之处在于它是否将-r选项传递给adduser

从更广泛的角度来看,请参见是否可以从/ etc / passwd“隐藏”帐户?


在CentOS上:尽管useradd --system foouser不会按照()的手册页为该用户创建主目录useradd(8)请注意:无论/etc/login.defs(CREATE_HOME)中的默认设置如何,useradd都不会为该用户创建主目录。你有,如果你想有一个主目录为系统帐户创建指定-m选项。),新用户的主目录foouser给出不存在的/home/foouser/etc/passwd
David Tonhofer,

此外,SYS_UID_MAX通常通过从1000开始倒数来选择UID ,因此我们以UID 998为例foouser
David Tonhofer,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.