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

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

#1 楼

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

因此定义了边框,或者说是两个组的UID的两个范围。在openSUSE中,文件/etc/login.defs包含以下行:

# Min/max values for automatic uid selection in useradd
#
# SYS_UID_MIN to SYS_UID_MAX inclusive is the range for
# UIDs for dynamically allocated administrative and system accounts.
# UID_MIN to UID_MAX inclusive is the range of UIDs of dynamically
# allocated user accounts.
#
UID_MIN                  1000
UID_MAX                 60000
# System accounts
SYS_UID_MIN               100
SYS_UID_MAX               499




# Min/max values for automatic gid selection in groupadd
#
# SYS_GID_MIN to SYS_GID_MAX inclusive is the range for
# GIDs for dynamically allocated administrative and system groups.
# GID_MIN to GID_MAX inclusive is the range of GIDs of dynamically
# allocated groups.
#
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               100
SYS_GID_MAX               499


评论


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

–戴夫
2015年11月11日下午6:24

还有更多。例如,默认情况下,对于系统用户而言,疯狂的“ RemoveIPC”选项(谷歌让系统开发人员感到惊讶)是关闭的,而对于普通用户而言则是开启的。因此,当以普通用户而非系统用户身份运行时,软件可能会崩溃。

–马特西亚
20年1月7日,11:22

#2 楼

主要区别在于帐户的用途,因此它主要是对管理员和审计员有用的区别。有一些技术上的区别—与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的主目录指定为不存在的/ home /。 / etc / passwd中的foouser。

– David Tonhofer
18/12/31在9:50

此外,通过从SYS_UID_MAX(通常为1000)开始向下计数来选择UID,因此对于foouser,我们有UID 998。

– David Tonhofer
18/12/31在9:50