我应该使用 useradd 还是 adduser?

k0p*_*kus 8 users administration debian useradd

我正在尝试向系统添加新用户。我很困惑要运行哪个命令:useradd还是adduser

k0p*_*kus 13

根据手册,您应该使用adduser

男人用户添加

描述

useradd 是用于添加用户的低级实用程序。在 Debian 上,管理员通常应该使用 adduser(8) 来代替。


ano*_*guy 9

尽管联机帮助页对useraddand说了些什么userdel,但我总是使用低级后端二进制文件:useradd, userdel, groupadd, groupdel

前端脚本是交互式的,旨在对用户友好,但做同样的事情。这真的是个人喜好的问题。

在实际差异方面:

useraddgroupadd有类似的选项,以命令usermodgroupmod,并没有对这些命令(即没有前端脚本moduser或者modgroup前端脚本),所以它是比较一致的使用类似的命令帐户维护。

默认设置有不同的配置文件,例如用户 ID、shell、登录组等。因此,请确保您知道正在编辑哪一个来更改设置。

除非您提供--force-badname选项,否则前端脚本会“保护”您免于输入愚蠢的名称。例如,包含特殊字符或以数字开头的用户名或组名。这是不太可能意外完成的事情,因此不需要“保护”。

前端脚本还会“保护”您免于删除 root 帐户,除非您使用--force option. 为什么有人会尝试使用它,我不知道。还值得指出的是,如果用户帐户下有正在运行的进程,则无法删除该用户帐户,并且始终有以 root 身份运行的进程,因此无论如何都会失败。

(然而,我从来没有勇气尝试。)

只有前端脚本 adduser 具有加密主目录的选项。

但是,有些事情友好脚本无法做到,您需要求助于二进制命令,尽管这些是您通常不需要做的事情:

  • useradd 可以覆盖骨架主目录的默认值,而无需编辑配置文件,或创建新的配置文件。查看-k选项。

  • useradd 可以通过选项阻止将新创建的用户添加到 lastlog 数据库-l

  • useradd 和 groupadd 可以使用该-o选项分别创建具有非唯一 UID 或 GID 的帐户。脚本不提供此功能。

  • useradd 可以使用 selinux 映射创建新用户,如果系统上启用了 selinux,则使用该-Z选项。但是,这也可以在创建帐户后使用其他命令完成,例如semanageusermod

  • 最后,也许是最重要的,只有二进制命令才能/snap/core使用-R选项在替代根目录下的替代系统上运行,例如。

  • 而且,如果您坚持使用“useradd”并学习其语法,您就不受 Debian 的束缚。您几乎可以在每个发行版上找到“useradd”(大多数情况下它被打包为默认安装的“shadow”/“shadow-utils”的一部分),因此使用它的脚本更加可移植。(+1) (2认同)