Linux
破壞了我在亞馬遜 EC2 上的 /etc/sudoers 文件
我使用 vim /etc/sudoers 編輯了我的 Linux Amazon EC2 實例,並嘗試將另一個帳戶添加到列表中。我現在意識到這是一個可怕的錯誤。我無法再從任何帳戶執行 sudo(這意味著我無法再次編輯文件)並且我沒有 root 帳戶密碼。我能做些什麼來糾正這個問題嗎?
謝謝。
希望您使用的是 EBS 根卷。如果是這樣,解決方案並不太難。
本質上,您將 EBS 卷附加到另一個實例進行更改,然後將其重新附加到原始實例:
- 停止(不終止)原始實例
- 分離 EBS 卷
- 啟動另一個實例
- 將您目前的 EBS 卷附加到新實例
- SSH 進入新實例,掛載 EBS 卷並進行必要的更改
- 解除安裝 EBS 卷(例如
umount -d /dev/xvdh
或umount -d /dev/sdh
)- 從新實例中分離 EBS 卷並將其附加為
/dev/sda1
舊實例的根卷(例如)- 啟動舊實例
- 如果一切正常,終止新實例
這樣做的原因是,在新的實例上,您擁有適當的權限 - 它的根卷是完整的 - 這使得原始實例中的 sudoers 文件成為您可以編輯的另一個文件。
如果您有實例儲存根卷,很遺憾,您可能無法解決問題,並且必須恢復到您之前創建的 AMI 作為備份。