it-swarm.cn

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

在我使用adduser添加用户后,我无法通过系统>管理>用户和组看到它,除非我退出然后再次登录。这是正常的吗?

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

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

800
David B

只是 将用户添加到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>的输出,以查看正常使用的组。

1004
ændrük

我做到了

Sudo usermod -a -G Sudo <username>

按照建议 这里

183
Leszek

打开sudoers文件:Sudo visudo将在/etc/sudoers中定义的编辑器中打开$EDITOR文件(可能 GNU nano - 设置变量,如果它不是你想要的,例如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

完成!

71
Mithun Sreedharan

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

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

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

30
TaunT406

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

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

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

11
txwikinger

在CentOS上,我是根本做的

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers
11
jowan sebastian

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

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

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