当前位置: 首页>>技术问答>>正文


adduser和useradd有什么区别?

, ,

问题描述

命令adduseruseradd有什么区别?

最佳解决思路

useradd is native binary compiled with the system. But, adduser is a perl script which uses useradd binary in back-end.

adduser is more user friendly and interactive than its back-end useradd. There’s no difference in features provided.

来源:What’s the difference between “adduser” and “useradd”?

次佳解决思路

从命令行创建新用户时,始终使用adduser(和删除用户时为deluser)。 (如果您正在编写脚本,特别是如果您的目标是便携性,则可能需要使用低级别实用程序 – 而adduser /deluser可能不适用于所有发行版,例如SuSE上。)

useradduserdelusermod命令是由于历史原因而存在的低级实用程序,而adduser/deluser是正确的事情™。 (我记得user*adduser/deluser之后出现在字母表中,因此是”worse”。)

根据各自的手册(在Ubuntu 12.04 Precise Pangolin上,即Debian衍生系统)。

adduser的手册页说:

(强调添加。)

adduser and addgroup add users and groups to the system according to command line options and configuration information in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, running a custom script, and other features. adduser and addgroup can be run in one of five modes:

useradd的手册页说:

useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

另见:What’s the difference between “adduser” and “useradd”?(在超级用户上)

第三种解决思路

adduser:添加用户完整的个人资料和信息(通行证,配额,许可等)

useradd:仅向用户添加他的名字(如果您想添加一个只有名称的临时用户,则不需要其他信息)

第四种思路

adduser更友好,因为它设置了帐户的主文件夹和其他设置(例如,在登录时自动加载系统统计信息和通知),而useradd只创建用户。

第五种思路

另外一些差异,导致useradd可能更可取的特定场景。

  1. 在一些较新的发行版中,包括Ubuntu 14.4,adduser会提示输入密码和”gecos”(finger命令的数据)等信息。这意味着它可能不太适合从脚本中调用(信用:已在Wernight的评论中提及)。

    提示可以通过传递null参数来抑制:

    adduser --disabled-password --gecos "" USER
    
  2. useradd允许您通过-G选项传递多个附加组以添加用户。 adduser似乎要求您为每个组添加一次该命令。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/83.html,未经允许,请勿转载。