solved: Oracle Cloud Infrastructure: ubutun@20.0.4: sudoersをいじくってsudoが出来なくなった件

事象:

/etc/sudoers をvisudoを使用しないでviで編集してsyntaxエラーがあったためsudoコマンドが使用不可に。sudoersも編集できなくなって詰んだ

 

環境:

oracle cloud infrastructure ubuntu@20.0.4

public subnet

 

作業の流れ:

当該インスタンスからboot volume をデタッチ

同一アヴァイラビリティーゾーン内の別のインスタンスにvolumeをアタッチ

アタッチしたインスタンスでsudoersを修正

volumeをデタッチ

元のインスタンスにroot volumeとしてアタッチ

 

詳細:

該当インスタンスを停止後、インスタンス→リソース内ブートボリューム→右端のメニューバーからデタッチを選択

f:id:monteecristoo:20210917102019p:plain

インスタンス→リソース→リソース内ブロックボリューム→ブロックボリュームのアタッチ

アタッチメントタイプは準仮想化を選択

ref

docs.oracle.com

SSHでアタッチ先インスタンスに接続

アタッチされたボリュームをマウントする

f:id:monteecristoo:20210917103328p:plain

sdbがアタッチしたボリュームなので /mnt ディレクトリにマウント

2回目の df -h で /mnt にマウントされたことを確認

/mnt/etc/sudoersを修正(接続したインスタンスのsudoersで上書き)

sudo cp /etc/sudoers /mnt/etc/sudoers

sudo unmount /mnt

 

障害が発生した元のインスタンスにboot volume としてアタッチ

同一コンパートメント内でないとアタッチできないことに注意

該当インスタンス→リソース内ブートボリューム→右端メニューからブートボリュームのアタッチ

 

これでsudoが使用可能に回復

 

sudoersを編集するときは必ずvisudoを使用すること。

 

ref:

aws.amazon.com

docs.oracle.com