创建系统帐户的最佳做法是什么?(*尼克斯)

str*_*gee 3 service-accounts best-practices

我已手动将名为 Gate One 的服务安装到/opt. 我想加强它的安全性,所以我想我会创建一个系统帐户供它使用,因为最少的权限等等。

但是,当我运行时adduser --system gateone,它创建了一个我并不真正想要的主目录。因此,我运行了adduser --system --home-dir /opt/gateone gateone,因为我看到一些系统帐户设置了与它们相关的主目录。但是,这使登录 shell/bin/sh而不是/bin/false,这是它第一次完成的(当我没有指定主目录时)。我现在对应该将这些字段设置为什么感到有些困惑。

tl;dr:在 *NIX 操作系统上创建系统帐户时,设置主目录、登录 shell 和其他任何相关内容的最佳做法是什么?为什么?

注意:如果重要的话,我使用的是 Ubuntu 13.04 Raring,因为 IIRCadduser可能会因分发而异。

Fal*_*mot 10

没有真正的最佳实践,除了 shell 应该是 /bin/false 除非需要 shell,密码哈希应该是,!除非用户需要登录,应该给出一个描述性名称,以及一个 home/dev/null如果应用程序不需要有效的主目录,则目录应设置为或类似。用户应该有自己的组,最好在系统ID范围内;如果它不需要 root 的主 GID,例如,不要给它一个,当然也不要给没有特定要求的用户。这一切都取决于。指定您关心man adduser的所有内容(查看所有可用选项)。

  • 这涵盖了我的大部分命中列表。作为一般规则,它还应该有一个专用组(例如,如果用户是`bind`,则应该有一个具有匹配 ID 的组 `bind`),并且 UID/GID 应该在您操作系统的“系统 UID 范围”内(通常 < 1000)。 (3认同)