作死自救日记——不小心修改linux下/etc/sudoers权限的解决办法
作死自救日记,献给跟我一样不小心作了死的人
================================================
今天不小心作死修改了/etc/sudoers的权限,作死命令如下(别问我为什么要作死)
sudo chmod a+w /etc/sudoers
然后每次用sudo命令都会冒出
sudo: /etc/sudoers is mode 0662, should be 0440
google之发现为了保护系统安全,sudoers的权限一旦修改后任何sudo命令都会被拒绝。解决方案是进入recovery mode,将sudoers的权限修改回来。
于是我哀伤地重启了虚拟机,启动的时候按下SHIFT,选择recovery mode,蹦出来一个菜单,选择root进入root shell。然后敲了
chmod 0440 /etc/sudoers
结果
chmod: changing permissions of `/ect/sudoers': Read-only file system
你在逗我??
无奈之下重启(shutdown -r now),用正常模式开机,还是提示权限不对不准sudo。
好的吧,我再进recovery mode试试……然后就囧了,vmware boot得太快根本来不及按SHIFT进recovery mode呀!开机关机NN遍之后我决定再google一下看看有什么解决方案。看到有人说可以用vmware的 vm->power into BIOS来放慢boot的速度。照做之,终于能进入recovery mode了。
接下来解决root shell里不准改权限的问题,再google发现是进去的时候默认mout到read-only的FS,需要重新mount到read-write的FS才能改权限。
于是先敲个
mount -o remount,rw /
终于成功了
重启进入普通状态下的系统,终于能sudo了,内牛满面。
在stackoverflow上提了个问题不过在有人回答之前就用google解决掉了 OTZ 贴出供参考之
http://stackoverflow.com/questions/22877118/cant-enter-recovery-mode-of-ubuntu-in-vmware
这次作死再次深刻地教育了我:不要随便sudo啊OTZ