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

使用adduser添加用户后,除非我注销然后再次登录,否则无法通过系统>管理>用户和组查看。 这是正常的吗?

另外,我可以将新添加的用户设置为sudo er,还是只在添加后才需要更改? 我怎么能通过shell做到这一点?

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

只需将用户添加到sudo组 :

 sudo adduser  sudo 

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

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

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

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


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

 adm sudo lpadmin sambashare 

由于您的系统配置可能会有所不同,我建议您查看groups 的输出,以查看正常使用的组。

我做到了

 sudo usermod -a -G sudo  

按此处推荐。

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

将以下行添加到文件末尾。

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

然后使用Ctrl + O执行WriteOut。 编辑器会询问您要写入的文件名。 默认值是一个临时文件, visudo在保存到实际的sudoers文件之前检查语法错误。 按Enter接受它。 使用Ctrl + X退出nano编辑器。

完成!

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

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

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

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

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

sudoer手册将为您提供更多相关信息。 您可以指定特定用户/组允许以root身份执行的命令。

在CentOS上,我是根本做的

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

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

确保首先将用户添加到sudo组。 在Ubuntu 16.04.1 LTS上测试。

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