因为文件系统设置了 “nosuid” 选项:
“nosuid” 选项会禁止执行设置了 SUID 位的程序,而sudo
依赖 SUID 位来以 root 权限运行命令。如果你挂载的文件系统带有 “nosuid” 选项,就会导致sudo
无法正常工作。
解决方法:
- 重启,开机时使用链接方法进入ubuntu recovery模式并进入root命令行:ubuntu /usr/bin/sudo必须属于用户ID 0(的用户)并设置setuid位 踩坑解决_必须属于用户id0并且设置setuid-CSDN博客
- 这里如果没有成功进入grub,可以尝试:开机时,按住shift+esc,如果进入grub命令行:“grub>>”,输入normal,按下enter,再按一次esc就可以进入grub页面
- 进入root后,输入
#查看挂载于根目录下的盘是否启用nosuid
mount | grep ' on / '
#如果有,运行下面代码
mount -o remount,rw,suid /
最后,输入exit退出,再退出recovery mode正常启动就好了。