読者です 読者をやめる 読者になる 読者になる

Ubuntuのsudoersを壊してしまったら

Ubuntu

visudoを使わずにvimで/etc/sudoersを編集し、その結果、sudoができなくなった。
構文を理解していないくせに危険な行為をするから、そんな羽目に陥るのだと自分を戒めながらも、世の中には同じような状況にハマった人がいるに違いないと思い検索してみたら・・・いたいた!

jinsei1do.com

参考にしたページではrootのパスワードを設定することで復旧しているが、今回は/etc/sudoersを修正することで復旧させた。
以下にその経緯を記載する。
なお、UbuntuVirtualBox上の仮想マシンにインストールしている。

【PCブート】

f:id:pochy9n:20170121160716p:plain

この画面が表示されたら直ぐにESCキーを押下する。

【起動メニュー1】

f:id:pochy9n:20170121160909p:plain

Advanced options for Ubuntuを選択する。

【起動メニュー2】

f:id:pochy9n:20170121184941p:plain

最も新しいカーネルで(recovery mode)を選択する。

【Recovery Menu】

f:id:pochy9n:20170121185300p:plain

recovery modeでUbuntuを起動すると上記メニューが表示される。
rootを選択してシェルを実行する。

【sudoersを開く】

f:id:pochy9n:20170121185639p:plain

ルートファイルシステムが読み込みのみになっているので、 読み書き可能で再マウント(-o rw,remount)する。
sudoersを書き込み可能(chmod +w)に変更してからエディタ(vi)で開く。

【sudoersを修正】

f:id:pochy9n:20170121190330p:plain

sudoersの誤った設定を削除(コメントアウト)して保存し、読み込みのみ(chmod -w)に戻してからシェルを終了する。

【通常起動】

f:id:pochy9n:20170121191107p:plain

resumeを選択してUbuntuを通常起動する。

【最終確認】

f:id:pochy9n:20170121191226p:plain

OKを選択して復旧を完了する。