Linux

破壞了我在亞馬遜 EC2 上的 /etc/sudoers 文件

  • January 24, 2021

我使用 vim /etc/sudoers 編輯了我的 Linux Amazon EC2 實例,並嘗試將另一個帳戶添加到列表中。我現在意識到這是一個可怕的錯誤。我無法再從任何帳戶執行 sudo(這意味著我無法再次編輯文件)並且我沒有 root 帳戶密碼。我能做些什麼來糾正這個問題嗎?

謝謝。

希望您使用的是 EBS 根卷。如果是這樣,解決方案並不太難。

本質上,您將 EBS 卷附加到另一個實例進行更改,然後將其重新附加到原始實例:

  • 停止(不終止)原始實例
  • 分離 EBS 卷
  • 啟動另一個實例
  • 將您目前的 EBS 卷附加到新實例
  • SSH 進入新實例,掛載 EBS 卷並進行必要的更改
  • 解除安裝 EBS 卷(例如umount -d /dev/xvdhumount -d /dev/sdh
  • 從新實例中分離 EBS 卷並將其附加為/dev/sda1舊實例的根卷(例如)
  • 啟動舊實例
  • 如果一切正常,終止新實例

這樣做的原因是,在新的實例上,您擁有適當的權限 - 它的根卷是完整的 - 這使得原始實例中的 sudoers 文件成為您可以編輯的另一個文件。

如果您有實例儲存根卷,很遺憾,您可能無法解決問題,並且必須恢復到您之前創建的 AMI 作為備份。

引用自:https://serverfault.com/questions/392977