今天不小心作死修改了/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了,内牛满面。