今天不小心作死修改了/etc/sudoers的权限,作死命令如下(别问我为什么要作死)
sudo chmod a+w /etc/sudoers
然后每次用sudo命令都会冒出
sudo: /etc/sudoers is mode0662, should be0440
google之发现为了保护系统安全,sudoers的权限一旦修改后任何sudo命令都会被拒绝。解决方案是进入recovery mode,将sudoers的权限修改回来。
于是我哀伤地重启了虚拟机,启动的时候按下SHIFT,进入grub,选择recovery mode,选择root进入root shell。然后敲了
chmod 0440 /etc/sudoers
结果
chmod: changing permissions of `/ect/sudoers': Read-only file system
你在逗我??
接下来解决root shell里不准改权限的问题,再google发现是进去的时候默认mout到read-only的FS,需要重新mount到read-write的FS才能改权限。
于是先敲个
mount -o remount,rw /
结果还是不行,原来是sudoers文件还需要改权限:
chmod 0440 /etc/sudoers ; chmod 0440 -R /etc/sudoers.d
终于成功了。
以后请使用 visudo指令安全更改sudoers。
网友评论