sudo和su都不能使用的问题
背景
我不知道脑子出啥问题了,我命令了:
1 | sudo chmod -R 777 /usr |
导致/usr/local/sudo
命令和/usr/local/su
命令都不能使用了。
看到网上的解决办法都是只有其中一种问题,例如:报错:
1 | sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set |
本来就应该su root
,然后
1 | chown root:root /usr/bin/sudo |
之后:
1 | chmod 4755 /usr/bin/sudo |
最后重启,完美解决。
可是我第一步就完蛋了,我运行:su root
时出现问题:
1 | su: Authentication failure |
查了之后说要执行sudo passwd root
给root设置密码。但是我不能用sudo啊。而且我是使用过su的,密码我也记得。
解决过程
根据报错:sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
:
sudo的用户属组要属于uid 0,即root用户;同时sudo要设置setuid位。我首先查询了一下我系统中sudo的信息:
1 | ls /usr/bin/sudo |
结果为:
1 | -rwxrwxrwx 1 root root 215944 Feb 14 2022 sudo* |
是root用户。
那么就要设置setuid位:
1 | chmod 4755 /usr/bin/sudo |
可是我没法用sudo
啊,这咋改啊。
没有办法了,只能进入恢复模式 recovery mode。
恢复模式
进入恢复模式:
选择Advanced options for Ubuntu,按下[Enter]进入,选择recovery mode,不要按下回车键。
按E进入到编辑界面,按向下键找到 到 linux /boot/vmlinuz-……. ro recovery nomodeset 所在行,将“ro recovery nomodeset”替换为“quiet splash rw init=/bin/bash”,按下[F10]或者[Ctrl+x]重启系统。
重启以后进入到这个页面,向下键选择root回车。
但是我还是糟糕啊,完蛋孩子。再尝试一会儿决定重装(删除虚拟机后新建)😭
长记性啊,可千万不能chmod -R 777 啊
你以为我能解决啊,我也想解决啊😅
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 秋白's Blog!
评论