sudo组中的用户不能使用sudo命令


14

我有一个用户,该用户supersecretuser属于该sudo群组,但没有sudo访问权限。要赋予此用户sudo访问权限,还需要执行其他操作吗?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser 是我们在安装Ubuntu时设置的用户。


4
自从添加到该组以来,是否supersecretuser注销并重新登录(或至少启动了新的登录Shell su - supersecretusersudo
steeldriver

当我在as中使用ssh时supersecretuser,我可以看到它位于sudo组中。我还需要做其他事情才能注销吗?在服务器中添加了ssh来提问。
杰伊·米切尔

如果您还有另一个超级用户,我将尝试再次添加suspersecretuser到该sudo组。sudo adduser supersecretuser sudo。您可能会遇到类似的错误user is already in group sudo,但值得一试。
2014年

Answers:


8

由于您的用户说错了消息is not in the sudoers file,请您检查一下/etc/sudoers文件,看看是否有这样的一行:

%sudo   ALL=(ALL:ALL) ALL

如果缺少此行,则该sudo组中的用户将不再是sudoers。使用visudo命令编辑文件(检查正确的Synthax并锁定文件)。

您也可以尝试添加自定义行,如下所示:

root    ALL=(ALL:ALL) ALL

替换root为您的用户名,重新启动,然后尝试使用。


sudo看不到此文件说这是100%的问题。但是,基于我们在其他服务器上使用的厨师脚本,我可以看到我们没有将supersecretuser用户添加到中/etc/sudoers
杰伊·米切尔

非常感谢答案,我只好sudoadmin记录,但他们并没有用前缀%
berezovskyi 2015年

6

根据您在评论中与@steeldriver的对话,我猜是您的用户未注销。

确保最简单的方法 supersecretuser已注销是,以另一个用户身份输入终端who

这样做时,我得到这样的输出:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

我只看到我自己。同样,w在终端中输入可以显示所有用户的登录信息以及他们在做什么:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

您可以使用以下命令停止其他用户(SSU,我将其称为):

pkill -STOP -u SSU

但是,实际上,最简单的解决方案是在可能的情况下仅重新启动系统。


重新启动服务器,但我没有sudo访问权限。
杰伊·米切尔

因此,您失去了用户ssh进入服务器的能力吗?
米奇

抱歉,更新了评论。仍然可以ssh进入服务器,只是无法sudo访问。
杰伊·米切尔

您可以使用用于向用户授予sudo访问权限的方法来更新原始帖子吗?
米奇

supersecretuser是我们在安装Ubuntu时设置的用户。
杰伊·米切尔

0

将超级秘密用户添加到sufo组的最简单方法是sudo gpasswd -a supersecretuser sudo让超级秘密用户注销/重新登录;但是,如果您失去了sudo的功能,恐怕您将不得不重新安装。


-1

在检查文件权限是否正确之后:

-r--r----- 1 root root x x x x:x /etc/sudoers

您很可能丢失了s文件可执行文件上的-bit,它应显示为:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

如果不是这样的话:具有root特权给`

chmod u+s /usr/bin/sudo

并且应该没问题。.除非您知道自己更改了sudoers文件!:)


3
-1 sudo二进制文件和sudoers配置文件的权限问题导致与问题中不同的错误消息。他们实际上是指不适当的文件权限。
David Foerster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.