在亚马逊EC2上打破了我的/ etc / sudoers文件

Modified on: Sun, 21 Jul 2019 03:00:02 +0800

我使用vim / etc / sudoers编辑了我的Linux Amazon EC2实例,并尝试在列表中添加另一个帐户。我现在意识到这是一个可怕的错误。我不能再从任何帐户sudo(这意味着我无法再次编辑该文件),我没有root帐户密码。我能做些什么来纠正这个问题吗?

感谢。

作者:Progger

最佳答案

希望您使用的是EBS根卷。如果是这样,解决方案并不太难。

基本上,您将EBS卷附加到另一个实例进行更改,并将其重新附加到原始实例:

  • 停止(不终止)原始实例
  • 分离EBS卷
  • 启动另一个实例
  • 将当前的EBS卷附加到新实例
  • SSH进入新实例,安装EBS卷并进行必要的更改
  • 卸载EBS卷(例如umount -d /dev/xvdhumount -d /dev/sdh
  • 从新实例中分离EBS卷并将其作为旧实例的根卷(例如/dev/sda1)附加
  • 启动旧实例
  • 如果一切正常,请终止新实例

这个工作的原因是,在新的实例上,你拥有适当的权限 - 它的根卷是完整的 - 这使得原始实例中的sudoers文件只是你可以编辑的另一个文件。

如果您有实例存储根卷,遗憾的是,您可能无法解决问题,并且必须恢复为之前作为备份创建的AMI。


相关问答

添加新评论