更改了 sudoers 文件,无法再打开;无法使用 root 打开任何文件

更改了 sudoers 文件,无法再打开;无法使用 root 打开任何文件

我使用以下方法更改了 sudoers 文件中的设置

sudo visudo 

搞砸了。现在,当我尝试再次执行此操作或使用 sudo 打开任何文件时,我无法再打开它,并且收到以下错误消息:

>>> sudoers file: syntax error, line 7 

现在怎么办?

有什么办法可以解决这个问题(恢复设置),还是我需要安装一个全新的 Linux 副本?

我得到所有这些信息的原因是我按下了“Q”,而系统却告诉我出现了一些错误,这对我来说非常愚蠢。

谢谢。


编辑:我的 sudoers 文件与普通 sudoers 文件没有什么不同。

我刚刚在该文件中添加了 timestamp_timeout = 0 行,所有这些问题就出现了。

我按照詹姆斯的建议做了,甚至删除了那行(timestamp_timeout = 0)。

我按照要求将文件权限改为 0440,然后正常启动。然后,我收到相同的错误消息:

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7

如上。

我现在应该怎么做 ??


编辑2已解决:这就是我所做的:

  1. 使用 livecd 启动
  2. 删除旧的 sudoers 文件
  3. 创建新的 sudoers 文件并将所有内容复制到该文件中,即最低配置设置,幸运的是,我已将其保存在另一个文件中
  4. 将文件权限更改为 0440
  5. 从硬盘正常重新启动

万岁!

答案1

假设你没有给 root 用户设置密码,那么解决这个问题的最简单方法是使用如下的 live cd诺皮克斯. 启动光盘。挂载本地光盘,编辑文件,卸载光盘并重新启动。

答案2

很简单,启动计算机'单用户模式' 通过执行以下步骤:

  1. 重启
  2. 当 Grub 启动时,按 ESC(或 Esc)
  3. 按“e”编辑当前行
  4. 在包含“linux”的行末尾添加“single”
  5. 启动(按 b)

这将仅以一个用户 root 启动计算机。然后按照以下步骤操作:

  1. /usr/bin/vim /etc/sudoers(或者使用 nano,对你来说可能更容易)来解决问题
  2. 如果您不确定问题所在,请尝试从“/usr/share/doc/sudo/examples”(有所不同)复制所包含的 sudoers 示例,然后在那里添加您的用户。
  3. 保存文件,退出Vim
  4. 重启,享受吧!

答案3

James 提出的使用 Live CD(假设未启用 root 帐户)的想法很好。我想补充几点。

  • 首先,你可能会很幸运,备份/etc/sudoers编辑文件时,会自动保存该文件。签入/ETC对于如下所示的文件sudoers~ (您可以cd到该目录并运行ls -A 没有root 权限,即使您无法以普通用户身份读取或编辑文件)。有些编辑器会尽可能创建这样的备份,因此您可能无需明确创建它即可拥有一个备份。
  • 第二,如果你不知道如何要编辑该文件,您可以考虑将其(或第 7 行附近的区域)发布到这里或其他地方。虽然该文件本身与安全有关,但其中没有密码,因此发布它不会立即造成危害。
  • 最后,请注意,您看到的错误消息并不一定意味着问题本身确实在第 7 行。错误可能在第 4 行,但仅在第 7 行被触发。

答案4

尝试按 e 进行编辑。这样您就可以编辑文件并更正错误。

相关内容