如何使用命令行将用户添加为新的sudoer?

我添加用户后使用 adduser,我看不到它通过 >>系统管理用户和组 除非我注销然后再次登录。 这正常吗?

另外,我可以将新添加的用户设置为 sudo呃,还是我必须在添加后才更改它? 我怎样才能通过shell做到这一点?

最后,我可以删除最初安装Ubuntu时创建的原始用户,还是这个用户以某种方式"特殊"?

只是 将用户添加到 sudo 团体:

sudo adduser <username> sudo

更改将在用户下次登录时生效。

这是因为 /etc/sudoers 预先配置为向该组的所有成员授予权限(您不应该对此进行任何更改):

# Allow members of group sudo to execute any command%sudo   ALL=(ALL:ALL) ALL

只要您有权访问与"原始"用户位于同一组中的用户,就可以删除旧用户。


实际上,您的新用户也应该是其他组的成员。 如果您在"用户设置"中将用户的帐户类型设置为"管理员",则该帐户将至少放在所有这些组中:

adm sudo lpadmin sambashare

由于您的系统配置可能会有所不同,我建议查看 groups <username> 查看哪些组通常在使用。

我做到了

sudo usermod -a -G sudo <username>

按建议 这里.

打开sudoers文件: sudo visudo 将打开 /etc/sudoers 在编辑器中定义的文件 $EDITOR (可能 GNU纳米 -设置变量,如果它不是你想要的,例如 export EDITOR="nano" 并尝试 sudo visudo 再次)。

将下面的行添加到文件的末尾。

username ALL=(ALL) ALL   # Change the user name before you issue the commands

然后执行WriteOut与 Ctrl + O. 编辑器会要求您输入要写入的文件名。 默认值将是一个临时文件,由 visudo 在保存到实际之前检查语法错误 sudoers 档案。 新闻界 Enter 接受它。 退出nano编辑器 Ctrl + X.

完成了!

有一点我必须补充一点,我相信很多人都不明白:

一旦你已经做了一个 adduser "username",你仍然可以回来做一个 adduser "username" sudo,然后它将正确地将该用户添加到组中。

它实际上不会像第一次那样工作 sudo adduser username sudo. 它会给你一个错误。 总之,这意味着您必须先创建用户帐户,然后才能将其添加到组中。

在CentOS上,我做root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers

以下代码段授予对username的root访问权限,而无需以root身份显式登录。

确保先将用户添加到sudo组。 在Ubuntu16.04.1LTS上测试。

sudo adduser username sudosudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

小组的所有成员 admin 默认情况下,Ubuntu允许使用sudo,所以最简单的方法是将用户帐户添加到 admin 组。

如果您不想为用户帐户提供完全root访问权限,则需要使用visudo编辑/etc/sudoer文件(它确保文件中没有任何语法错误,并且完全失去sudo功能),以指定此用户(或新组)

sudoer手册 会给你更多关于这方面的信息。 您可以指定特定用户/组允许以root身份执行哪些命令。