Ubuntuのsudoersを壊してしまったら
visudoを使わずにvimで/etc/sudoersを編集し、その結果、sudoができなくなった。
構文を理解していないくせに危険な行為をするから、そんな羽目に陥るのだと自分を戒めながらも、世の中には同じような状況にハマった人がいるに違いないと思い検索してみたら・・・いたいた!
参考にしたページではrootのパスワードを設定することで復旧しているが、今回は/etc/sudoersを修正することで復旧させた。
以下にその経緯を記載する。
なお、UbuntuはVirtualBox上の仮想マシンにインストールしている。
【PCブート】
この画面が表示されたら直ぐにESCキーを押下する。
【起動メニュー1】
Advanced options for Ubuntuを選択する。
【起動メニュー2】
最も新しいカーネルで(recovery mode)を選択する。
【Recovery Menu】
recovery modeでUbuntuを起動すると上記メニューが表示される。
rootを選択してシェルを実行する。
【sudoersを開く】
ルートファイルシステムが読み込みのみになっているので、 読み書き可能で再マウント(-o rw,remount)する。
sudoersを書き込み可能(chmod +w)に変更してからエディタ(vi)で開く。
【sudoersを修正】
sudoersの誤った設定を削除(コメントアウト)して保存し、読み込みのみ(chmod -w)に戻してからシェルを終了する。
【通常起動】
resumeを選択してUbuntuを通常起動する。
【最終確認】
OKを選択して復旧を完了する。