一次修改sudoers文件后发现sudo指令无法正常使用,提示报错记录一下自己解决这个报错的方法和相关知识。
出现这个报错的原因是因为sudoers文件的权限被修改了,不是只读状态。
通常我们修改sudoers 文件的时候会提示该文件无法修改,因为文件权限是只读的。vim编辑器会开启readonly选项保护文件不被修改。如果关闭readonly选项后(set noreadonly),使用chmod对修改sudoers文件的权限,使其能够被修改,而此时的用户仍然为普通用户时,也就是使用了sudo chmod来修改sudoers文件。这会导致sudo指令无法使用(因为sudoers不是只读状态),要使得sudo能够正常使用,就必须让sudoers文件重新变为只读状态。
这时候可以先获取root权限,修改sudoer文件为只读就可以解决问题(chmod 0440 /etc/sudoers或chmod =r /etc/sudoers)。
但最棘手的问题是此时已经无法使用sudo 指令来获取root权限,所以有以下解决方案获取root权限。
如果只读root密码的情况下:可以su root 切换到root用户。
如果不知道密码。