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 实例上恢复此问题:
- 打开 EC2 仪表板
- 停止实例。
- 分离根卷(示例
/dev/sda1
)实例 A。 - 将卷附加到另一个 EC2 实例 B (
sudo mkdir /recoversudo
) - 创建挂载点并挂载卷(例如
sudo mount /dev/xvdg2 /recoversudo
) - 临时给sudoers文件添加写权限
/recoversudo/etc/sudoers
(sudo chmod 660 /recoversudo/etc/sudoers
) - 编辑、进行更改并保存 (
sudo vi(m) /recoversudo/etc/sudoers
) - 将权限恢复为只读 (
sudo chmod 440 /recoversudo/etc/sudoers
) sudo umount /dev/xvdg2
从实例 B卸载卷 ( )- 将卷作为根卷附加回实例 A(例如。
/dev/sda1
) - 启动实例A,您应该能够登录