ある時、Azure VMでsudo lsしたらsudo: parse errorエラーが
どうやら/etc/sudoers.d/user(sudoersファイル)の修正ミスでsyntax errorとなっていてsudoできなくなっていました・・・
対処法
# ブラウザからログイン
az login
az vm run-command invoke -g [リソースグループ名] -n [VM名] --command-id RunShellScript --scripts "rm -rf /etc/sudoers.d/user"
あとは必要に応じておかしくなる前の /etc/sudoers.d/userを復元してください。
sudoersファイルを編集できる権限が消えちゃったときはVMコンソール - パスワードのリセットから復旧用のユーザを作成して作業すると良さそうです。
感想
とっても簡単でビックリ。
AWSで同じ問題が発生した際(どちらも私がやったんじゃないよ・・・)はdiskを別のVMにマウントしなおしてゴニョゴニョしたんですが、Azureはそれよりもさらに簡単に対応できました。