这个问题大约一周前出现,不知道是什么原因造成的。之前环境一直按预期运行。使用托管在 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)
我尝试过的
- 编辑 sudodoers 时,我无法修改该文件,因为我没有 root 访问权限
- 修改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系统上根权利。然后您可以调查passwd
、group
和sudoers
所有其他相关文件,和/或您可以使用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 文件中。可能有人重新配置了它。尝试各种命令,你可能会找到对你有帮助的东西。如果没有,那么您需要将磁盘安装在不同的操作系统实例上,并修复它。