Ubuntu:破坏了我的sudoers文件,我该如何修复?


Answers:


6

将系统引导到单一模式,然后对其进行编辑。


谢谢,我的Ubuntu在Virtualbox下运行。如何引导进入单用户模式?
fred basset


我在启动时没有grub选项,但是它可以直接引导到Ubuntu ...
fred basset 2010年

尝试按住<Ctrl>或其他。
伊格纳西奥·巴斯克斯

1
@red basset:在虚拟机启动时,按Esc几次,这将使您进入grub,然后选择“恢复模式”选项。
user9517

21

您永远不要直接编辑sudoers文件。使用visudo-将来会保护您免受这些语法错误的影响。

要从这种情况中恢复,请启动到单用户模式并编辑文件,或者从livecd启动并执行相同的操作。


谢谢,我想知道visudo有什么不同。我现在需要解决如何引导到单用户模式。我的Ubuntu在Virtualbox下运行。
fred basset 2010年

1
visudo使您编辑sudoers文件的副本。如果在保存时验证,它将仅替换sudoers文件。它将使用由EDITOR变量指定的编辑器,因此您可以使用首选的编辑器。如果您编辑了文件并想确保它仍然有效,它也可以在检查模式下使用。
BillThor


1

顺便说一句,如果您具有root密码,只需使用它登录,然后将其设置回原来的样子即可。

chmod 0440 / etc / sudoers

这样可以避免您从livecd引导进入单用户模式或更糟的情况。

就我而言,我无力关闭服务器。


1

如果您已经安装了Docker并且您的用户是该docker组的成员,则可以轻松地退出此泡菜(和其他一些菜),而无需重新启动或拥有什么:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. 修复问题文件
  5. exit

码头工人?您在原始问题中的任何地方都看到过Docker吗?
迪尔·亨特

2
由于该问题并没有说明有关问问者的环境的任何信息,而现在是2015年,这意味着已经安装了很多人,所以我既不了解您对我的态度,也不知道您对我的贡献感到鄙视。到今天为止,在这种情况下其他人已经安装了已经有2.35万人在GitHub上主演的软件,这并非不可思议。如果pkexec由于某种原因而无法使用,那么这提供了一种替代方法,无需重启,几乎是一样快捷和简单。
AdrianGünter'15
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.