使用adduser添加用户后,除非注销然后再次登录,否则无法通过“系统”>“管理”>“用户和组”看到它。

还可以将新添加的用户设置为sudoer还是仅在添加后才需要更改它?

最后,我可以删除最初安装Ubuntu时创建的原始用户,还是该用户是“特殊用户”?

#1 楼

只需将用户添加到sudo组即可:

sudo adduser <username> sudo


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

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

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


对于与“原始”用户属于同一组的用户,您可以删除旧的用户。


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

,建议您查看groups <username>的输出,以查看通常使用的组。

评论


@Dziamid我不确定sudo组的用途。让我们找出答案。

–ændrük
2011年5月17日在1:49

请注意,12.04 LTS中不存在管理组。

–瑞安
2012年6月12日在1:10

问题是关于现有用户的,但如果是新用户,则“ sudo adduser <用户名> sudo”必须在“ sudo adduser <用户名>”之前。否则,将收到错误消息“用户<用户名>不存在”。

– Peter Mortensen
2013年6月1日12:07



这对我不起作用。仍然不能使用sudo。

–碎肉
13年10月31日在7:37

必须再次登录才能正常工作。

– PeterM
2015年6月9日在8:06

#2 楼

我按照这里的建议做了

sudo usermod -a -G sudo <username>




评论


组sudo不存在

–亚伦·以扫(Aaron Esau)
16 Sep 2 '16 at 3:55

这里唯一可行的解​​决方案。 Ubuntu 16

–马坎·塔耶比(Makan Tayebi)
17年9月27日在21:47

对于现有用户,这是正确的解决方案。应该将其标记为答案。

–妖怪
17年11月13日在6:30

不要忘记-a标志,否则您将从除sudo之外的所有组中删除用户

–卢梭·亚历山大(RousseauAlexandre)
18年8月28日在15:51

这不是答案,答案是通过visudo命令将 ALL =(ALL)ALL行添加到sudoers文件中。

–猫头鹰
19年1月7日在18:51

#3 楼

打开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


然后用Ctrl + O执行WriteOut。编辑器将要求您输入要写入的文件名。默认设置是一个临时文件,visudo将使用该文件来检查语法错误,然后再保存到实际的sudoers文件中。按Enter接受它。使用Ctrl + X退出nano编辑器。

完成!

评论


不建议将单个用户显式添加到sudoers文件中,而不是简单地将该用户添加到适当的组sudo中。

– Kzqai
2014年5月5日18:56

使用sudo visudo可以输出到/etc/sudoers.tmp,当离开编辑器时,它将自己覆盖/ etc / sudoers

–攀登
2015年4月2日在19:44

和visudo将验证语法以确保没有错误

– mchid
15年6月29日在9:32

如果使用this则出现语法错误。

– jheriko
16 Mar 8 '16 at 16:04

其他解决方案非常适合具有内置sudo组的OS,但对于偶尔没有专用sudo组的系统,此解决方案也可以。我唯一的建议是您可能要避免将sudo本身放入程序中,因为可能尚未设置!通过执行su即可轻松解决,然后再进行visudio。这适用于Gentoo。

– Tresf
18-2-16在18:21



#4 楼

我必须补充一件事,我确信很多人不了解:

一旦完成adduser "username",您仍然可以返回并执行adduser "username" sudo,然后它将将该用户正确地添加到组中。

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

#5 楼

在CentOS上,我作为root

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


#6 楼

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

如果您不想提供用户帐户要获得完全root用户访问权限,您需要使用visudo编辑/ etc / sudoer文件(以确保该文件中没有语法错误,并且完全失去sudo功能),方法是指定该用户(或新组)可以以root用户身份执行。

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

评论


我以为那是轮组的目的?

– Marco Ceppi♦
2010-10-15 13:05

@Marco我不熟悉。您能再解释一下吗?

–ændrük
2010-10-15 13:19

@MarcoCeppi,在某些系统上使用wheel组来限制用户可以使用su。 Ubuntu使用sudo和admin组。

–psusi
2011年11月17日15:03

#7 楼

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

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

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


评论


在Ubuntu上能用吗?

– jowan sebastian
17年1月3日,11:29

是在Ubuntu 16.04上检查

–山迪普
17年2月11日在8:44

为什么不一行:useradd -m username --groups sudo

–艾丹·梅伦
17年8月12日19:35