Answers:
与useradd相比,adduser的主要优点是与系统级用户打交道。使用adduser时,系统级别的用户帐户在创建时会将用户目录放置在系统用户的主目录中,而useradd不会自动添加。如果您阅读该手册,则除了系统级用户和关联的主目录是自动的之外,它们基本上是相同的。adduser自动为系统级别的用户创建一个/ home / user目录,该目录中useradd中没有任何规定,除非由-m选项指定。我遇到的其他读物一般都指出UID和GUID是由adduser中公认的共形Debian标准分配的。
在我检查过的几个Redhat实例中(2011年为4.9,2017年为6.9),adduser只是useradd的别名,而不是Perl脚本。这是在Redhat 6.9中:
$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 Nov 2 2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb 9 2016 /usr/sbin/useradd
我记得useradd是“正确的”程序的方式是:添加用户只是CRUD领域中的一项操作。您还需要“修改”和“删除”操作(查看/ etc / passwd可能会覆盖“读取”)。因此,这些程序被命名为user *(分别为useradd,usermod和userdel)。我想其他的* user命名约定(adduser,moduser和deluser -这些都不存在)也可以工作。但这会有些尴尬(由于目前我无法清楚表达这一原因:)
moduser
在Debian上找不到,但是deluser
肯定在那里。
在raspian中(我需要检查其他操作系统),“ adduser USER”将启动一个对话框(TUI),而“ useradd USER”则不会。
显然,使用adduser,一旦出现对话框,就已经执行了完整的'useradd'命令。即使您使用CTRL-C,您的用户也在那里。
与在新系统中一样,他们创建“个人”组,要删除新创建的用户,您需要:
我假设因为adduser“使用” useradd,其余的是关于用户的元数据。因此,从技术上讲,“ skel”,“文件掩码”等没有任何变化,即您的系统默认设置。
另一方面,由于useradd不会显示任何TUI,因此在脚本编写中可能会更有用。
老实说我只在阿拉伯语中测试过它,因为那是我加紧回答这个问题的原因。
我可以想象其他操作系统可能会实现不同版本的adduser。
useradd
功能在所有类Unix平台上均可用。adduser
仅适用于Debian及其衍生产品。