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


8

我使用更改了sudoers文件中的设置

苏多维苏多 

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

>>> sudoers文件:语法错误,第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. 通常从硬盘重新启动

万岁!


您可以将sudoers文件的内容粘贴到www.pastebin.com,然后让我们看一下,这可能是最快的方法。
2009年

我会寻找失踪的评论#,缺少冒号,等号,续行反斜杠等
已暂停,直至另行通知。

Answers:


8

假设您没有为root用户提供密码,那么最简单的方法是使用Live cd(例如Knoppix)解决此问题。CD的启动。装入本地光盘,编辑文件,卸载光盘然后重新启动。


6

很简单,通过执行以下步骤以“ 单用户模式 ” 引导计算机:

  1. 重启
  2. 当Grub启动时,按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. 重新启动,享受!

我想知道它何时给单用户外壳提供密码?
詹姆斯

此方法不适用于所有发行版。由于它是众所周知的后门,因此一些发行版会在您进入根提示之前强制登录。詹姆斯,这听起来像是您的情况。
Telemachus

不知道发行版已经开始这样做了,在老旧的Slackware日子里总是为我工作
Andrioid

您应该建议在vim上使用visudo:en.wikipedia.org/wiki/Visudo

3

James的想法是使用实​​时CD(假设未启用root帐户)。我要补充几点。

  • 首先,您可能会很幸运,并且/ etc / sudoers文件的备份在编辑时会自动保存。检入/ etc中看起来像这样的文件sudoers~ (即使您不能以常规用户身份读取或编辑文件,也可以cd在该目录下运行且ls -A 没有 root权限)。某些编辑器会创建这样的备份可能,因此您可能没有显式创建它。
  • 其次,如果您不知道如何编辑文件,则可以考虑在此处或其他位置发布它(或第7行周围的区域)。尽管文件本身与安全性有关,但其中没有密码,因此发布文件不会立即造成危害。
  • 最后,请注意,您看到的错误消息不一定表示问题本身就在第7行上。该错误可能在第4行上,但只能说是在第7行上被触发。

0

尝试按e,进行编辑。这应该使您可以编辑文件并更正错误。


在显示错误后,按'e'键,完成编辑后,您将重新进入,从而可以纠正错误。不幸的是,它没有向您明确提及。

0

对于我们没有控制台或本地访问服务器以启动进入运行级别1或具有root设置(或可用凭据/证书)的用户,请使用pkexec visudo或pkexec vi / etc / sudoers,visudo更好因为它会对文件进行错误检查。


但是,pkexec如果您不知道root密码,该如何进行出价?
斯科特,
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.