sudoの設定変更は、通常 visudoで行う。このコマンドを使うと、編集後に構文のチェックを行い、間違っている場合はその旨を報告するので、設定を間違えてもvisudoを終了さえしなければ対処することはできる。

ここでは、例えば間違えたままvisudoを終了したり、viなどのエディタで編集したあと、sudoersの編集ミスのためにsudo自体が使えなくなったときの対処法について。

1. recovery modeで起動

OSを再起動し、recoveryモードで起動する。

VirtualBoxの仮想マシンなら、ホストからCtrl-Alt-Delを送信すれば再起動するので、grubのカーネルの選択画面でrecovery modeと書かれたカーネルを選択すればOK。

2. recoveryメニューで root を選択

rootユーザでshellが起動し、プロンプトが表示される。

3. ルートディレクトリを再マウントする

起動時、マウントされたパーティションは読み込みのみ可の状態。

sudoersを編集するために、書き込み可能な状態で再マウントする。

# mount -o remount,rw / 

4. sudoersを編集

sudoersを編集する。

# visudo 

編集後、sudoが正しく動くことを確認する。

5. shellを終了し、resumeを選択

shellを終了し、recoveryメニューで resume を選択。

選択後に表示される注意を確認し、OKを押すとそのまま起動される。

参考

  • リカバリーモードを使うには - Ubuntu Japanese Wiki
  • filesystem - How to make read-only file system writable? - Ask Ubuntu