AWS EC2でsudo権限のユーザパスワードが分からなくなった場合の対処法


EC2インスタンスの初期ユーザはパスワードがかかっておらず、特権操作も可能だ。

もちろんパスワードを設定することも可能だが、パスワードを失念してしまいsudoが使えなくなってしまった。

この状態でsudoを使った操作をしたい場合は、大きく2通りのやり方があるようだ。

1.別のEC2インスタンスを新規で作成し、そこにパスワードの分からなくなったEBSをアタッチしてsudoersを編集してもとに戻す方法

2.EC2インスタンスのユーザデータにbootcmdをつけてsudoersを書き換える方法

根本的な対応としては1だろうが、テスト用だったりで使えればいいレベルであれば、2のやり方が簡単だ。

EC2

→ インスタンス

→ 対処したいインスタンスID

→ アクション(事前にインスタンスの停止が必要)

→ インスタンスの設定

→ ユーザデータを編集

以下のコマンドをコピペして保存し、インスタンスを起動すると、ec2-userのsudo権限が使えるようになる。

bootcmd:
- echo "ec2-user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/cloud-init

※すでにユーザデータを使っている場合は上書きされるためバックアップを取ること

参考

https://teratail.com/questions/17102

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です