知道密码,但无法 SU 或使用 sudo 运行命令

知道密码,但无法 SU 或使用 sudo 运行命令

这个问题大约一周前出现,不知道是什么原因造成的。之前环境一直按预期运行。使用托管在 VMWare 工具上的 VM,uname -a 大致返回以下内容。

-virtual-machine 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

例如, sudo su root 返回

"Sorry, user linuxUser is not allowed to execute '/bin/su root' as root on linuxUser-virtual-machine."

sudo apt-get install vim

"Sorry, user linuxUser is not allowed to execute '/usr/bin/apt-get install vim' as root on linuxUser-virtual-machine".

不过,我可以以 linuxUser 身份执行命令,例如 ls -la 或 vim。

id 返回以下内容

uid=1000(linuxUser) gid=1000(linuxUser) groups=1000(linuxUser),999(docker)

我尝试过的

  1. 编辑 sudodoers 时,我无法修改该文件,因为我没有 root 访问权限
  2. 修改linux用户密码,没有效果

我在谷歌上对此进行了大量搜索,但似乎大多数用户仍然能够执行 sudo 命令或者仍然能够切换到 root。有任何想法吗?

sudo -l -U linuxUser 返回以下内容

Matching Defaults entries for linuxUser on linuxUser-virtual-machine:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User linuxUser may run the following commands on linuxUser-virtual-machine:
(root) NOPASSWD: /usr/lib/linuxmint/mintUpdate/checkAPT.py

事后编辑:大家好,我解决了这个问题https://askubuntu.com/questions/70442/how-do-i-add-myself-back-as-a-sudo-user。谢谢您的帮助!

答案1

User linuxUser may run the following commands on linuxUser-virtual-machine:
(root) NOPASSWD: /usr/lib/linuxmint/mintUpdate/checkAPT.py

嗯,这很直白地表明你无权(就目前sudo情况而言)运行除该脚本之外的任何东西。

如果允许您运行任意命令,则输出中将出现一行:

User thisuser may run the following commands on thishost:
    (ALL : ALL) ALL
    (root) NOPASSWD: /some/other/utility

该访问权限可以通过用户名或组成员身份授予。

someuser   ALL=(ALL:ALL) ALL          # by user
%sudo      ALL=(ALL:ALL) ALL          # by group

如果/etc/sudoers文件没有被修改,那么也许您在该sudo组中的成员身份已被删除(当然,该组可以有其他名称)?

如果不查看配置,就无法知道配置,如果没有足够的访问权限,您就看不到配置。重新安装并从备份恢复,或者在您有足够访问权限的另一个系统中打开磁盘(映像)。

答案2

尝试将系统盘(系统盘文件)挂载到可靠的linux系统上权利。然后您可以调查passwdgroupsudoers所有其他相关文件,和/或您可以使用chroot它们进入故障系统。

答案3

请注意,这Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.是一个不同的错误%s is not in the sudoers file。 (我没有阅读源代码,我只是strings在 中运行了代码/usr/lib/sudo/*。)

因此您可能仍在 sudoers 文件中。可能有人重新配置了它。尝试各种命令,你可能会找到对你有帮助的东西。如果没有,那么您需要将磁盘安装在不同的操作系统实例上,并修复它。

相关内容