Sudo在访客登录时不可用

当我以访客身份登录时,我无法使用sudo执行任何命令。

例如:

 sudo ps 

收益:

 sudo: unable to change to sudoers gid: Operation not permitted 

我怎样才能解决这个问题?

这实际上是作为安全function而设计的。 “guest”用户具有锁定的权限集,并被拒绝访问sudosu和其他命令。

如果您需要访问这些命令,您可以在TTY上以自己的用户身份登录,通过Ctrl + Alt + F1或任何其他最多6个F#键,然后登录,但访客用户被锁定在管理之外命令等。

出于安全考虑,我建议在此处反对所有解决方案。 在op在他的回复中概述的用例中:

访客用户登录并且I / root过来并希望执行某些操作(例如,将特定文件从我的配置文件复制到访客的桌面),这需要root和sudo似乎是最方便的方法。

最方便的方法是执行su [您的用户名]。 默认情况下,root没有密码,您无法使用该用户名,因此请使用常规管理员帐户。 然后会提示您输入密码。 然后,您可以执行您希望的命令,也许可以在sudo之前添加它们,再次键入密码。 完成使用自己帐户的权限后,键入exit,它们将返回到自己的提示。

从访客会话中执行管理任务非常容易。 su已禁用,但无法禁用ssh。

您所要做的就是ssh到localhost上的sudoers列表中的帐户:

 ssh @localhost 

其中是帐户的

每次使用guest登录时,Ubuntu中的guest用户都是生成的用户。 看到:

 guest-5VczkW@host:~$ grep guest /etc/passwd guest-5VczkW:x:115:125:Guest,,,:/tmp/guest-5VczkW:/bin/bash 

guest-5VczkW这个名称随着每个访客会话而变化。 生成此用户的脚本是一个名为guest-account的脚本:

 which guest-account /usr/sbin/guest-account 

现在,您可以通过将guest用户添加到sudo组来编辑此sciript。 因此,每个新生成的来宾用户都会添加到该组中,该用户有权获得root权限。

但是,我不能推荐这种入侵系统。 这是一个重大的安全风险。 在您的情况下,我只会使用每个人都知道的密码创建一个名为“guest”的新普通用户,并将此用户添加到sudo组。 但请注意,即使使用此解决方案,每个知道访客登录的人都可以显着改变系统。

考虑创建具有sudo权限的第二个用户,而不是尝试修复它。 希望通过统一ui这是直截了当的,因为我只知道如何通过编辑/etc/sudoers来做到这一点。 这样,“客人”仍然没有像它应该的那样没有特权,你可以让第二个用户保持安全或不安全。