sudo - 如何修改无效的'/etc/sudoers'文件?

分享于 

3分钟阅读

ubuntu

  繁體

问题

如何编辑无效的sudoers文件?它抛出下面的错误,不允许我再次编辑修复它。

以下是发生的情况:


$ sudo visudo



>>> /etc/sudoers: syntax error near line 28 <<<


sudo: parse error in /etc/sudoers near line 28


sudo: no valid sudoers sources found, quitting




答案1

在现代Ubuntu系统(还有其他许多GNU/Linux发行版)上,修复损坏的sudoers文件非常简单,并且不需要重新启动。

通过SSH执行此操作,并运行命令pkexec visudo,如果对机器有物理访问权限,就不需要SSH;打开终端窗口,并运行pkexec命令。

如果需要编辑/etc/sudoers.d 中配置文件,请使用pkexec visudo -f /etc/sudoers.d/filename

假设已安装的Ubuntu系统的root文件系统在/dev/sda1.上,那么你可以用sudo mount /dev/sda1 /mnt 然后,你可以编辑已安装系统的sudoers文件,sudo nano -w /mnt/etc/sudoers 或者,你可以用

sudo visudo -f /mnt/etc/sudoers

这会阻止你用不正确的语法保存sudoers文件。


答案2

使用visudo编辑你的sudoers文件,不要直接编辑它。


答案3

 
pkexec visudo



然后更改最后一行


#includedir /etc/sudoers



收件人:


#includedir /etc/sudoers.d



应该能解决你的问题。


答案4

如果没有安装pkexec,或者不能运行vi,visudo,nano或者其他编辑器来更改sudoers文件,

  • 重新启动
  • 在引导时按住shift键可以选择恢复模式(输入)
  • 输入命令行作为root (在grub菜单的第二个最后一个选项)

为rw重新挂载引导设备,并为用户应用exec权限,并编辑文件


mount -n -o remount,rw /


chmod u+x /etc/sudoers


nano /etc/sudoers





文件  MODI  SUDO