**adduser** 的 `--system` 标志有什么作用?

**adduser** 的 `--system` 标志有什么作用?

--system添加用户甚至组时使用该选项的目的和好处是什么?

我想知道为什么我看到它被添加到许多 Docker 容器中并被推荐为最佳实践?

例如,我将一个非 root 用户添加到 Alpine Docker 容器中,以便在开发时使用,并再次在运行时使用。

我当前使用的版本是:

  • adduser版本是3.118,并且高山adduser人
  • Alpine版本是3.12
  • Windows 10 上的 Docker v19.03.13(20H2 更新)

手册页上写着“创建系统用户”,好的,但是作为系统用户你会得到什么?或者使用时处于系统组中addgroup -S

我没有系统管理员背景,所以我不确定这意味着什么,并且想清楚什么时候应该使用它?

其他一些读物

搜索谷歌提供了一些见解,但无法验证我所读到的内容。它不会要求您为用户设置密码,但我可以使用 use 来 --disabled-password实现这一点。

然后我在这里找到了这篇文章,我知道它是出于组织目的,但也对我没有多大帮助。我只是更清楚一点,但没有足够的信心来解释何时使用它们。

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

答案1

系统用户与普通用户类似,但具有组织目的。唯一的区别是:

  • 它们没有有效期(没有老化设置)
  • 他们的 uid 低于 999,就像 /etc/login.defs 上设置的那样(可以更改):

还有标准系统用户,它们带有操作系统或与包安装他们中的大多数人都具有上述属性(传统的):

  • 其中大多数都有 /sbin/nologin 或 /bin/false 作为 shell
  • 他们有“*”或“!!”在 /etc/shadow 中意味着没有人可以简单地使用它们。
  • 并且可以具有我在第一部分中显示的属性。

要检查这些标准系统用户列表:/usr/share/doc/setup-/uidgid

一个例子可以是添加韓國用户作为系统用户;例如,如果我们想在我们的环境中设置身份访问管理策略,我们可以为所有用户自动化;我们这样做只是为了系统用户基于他们的uid因为万一韓國帐户过期应用程序将停止运行。

答案2

对于alpine linux.adduser -S 会创建一个系统用户,该用户id从100开始,并且无法登录。

kong:x:100:65533:Linux 用户,,,:/home/kong:/sbin/nologin

但是当 adduser 没有 -S 时情况有所不同

horward:x:1000:1000:Linux 用户,,,:/home/horward:/bin/ash

相关内容