EC2 上损坏的“sudoers”文件 - RedHat 6.9

EC2 上损坏的“sudoers”文件 - RedHat 6.9

Sudoers 文件似乎有错误:

sudo
sudo: >>> /etc/sudoers: syntax error near line 56 <<<
sudo: parse error in /etc/sudoers near line 56
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

我可以以 ec2 用户身份通过​​ SSH 连接到 EC2,但无法编辑 sudoers 文件来修复错误。

尝试过“visudo”:

visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied

尝试过“pkexec visudo”:

pkexec visudo
Error executing command as another user: No authentication agent was found.

此时我可以做什么来修复 /etc/sudoers 文件?

谢谢!

答案1

由于这是 EC2 映像,并且您无权访问控制台,因此您必须向 Amazon 支持开具票证,看看他们是否可以修复您的 sudoers 文件。我会做好以下准备:1)亚马逊需要一段时间才能满足您的请求,2)他们可能无法解决问题。如果任一情况属实,您可能不得不接受这样一个事实:您将不得不终止并重建您的实例。

答案2

由于这是一个 EC2 实例,您需要联系 Amazon 并开具票证,让某人进入单用户模式并更正 /etc/sudoers 文件中的不正确语法。您无法执行任何操作,因为系统需要重新启动。

答案3

如果您在 AWS EC2 实例中遇到此问题,您可以/etc/sudoers按照以下步骤编辑该文件,我曾多次使用这些步骤在 RHEL EC2 实例上恢复此问题:

  1. 打开 EC2 仪表板
  2. 停止实例。
  3. 分离根卷(示例/dev/sda1)实例 A。
  4. 将卷附加到另一个 EC2 实例 B ( sudo mkdir /recoversudo)
  5. 创建挂载点并挂载卷(例如sudo mount /dev/xvdg2 /recoversudo
  6. 临时给sudoers文件添加写权限/recoversudo/etc/sudoers( sudo chmod 660 /recoversudo/etc/sudoers)
  7. 编辑、进行更改并保存 ( sudo vi(m) /recoversudo/etc/sudoers)
  8. 将权限恢复为只读 ( sudo chmod 440 /recoversudo/etc/sudoers)
  9. sudo umount /dev/xvdg2从实例 B卸载卷 ( )
  10. 将卷作为根卷附加回实例 A(例如。/dev/sda1
  11. 启动实例A,您应该能够登录

相关内容