どういう訳か、Ubuntu 9.04からアップグレードした9.10のsuduが使えなくなりました。
$ sudo ls [sudo] password for test: test is not in the sudoers file. This incident will be reported. $
/etc/sudoersの設定をいじった覚えはないし…
幸い、ハードディスク暗号化していなかったので別マシンでマウントして修正しました。
Ubuntuのハードディスクは、LVMなので単純にマウントすることはできません。
lvdisplayコマンドでロジカルボリュームとボリュームグループを調べる必要があります。
$ sudo lvdisplay -C LV VG Attr LSize Origin Snap% Move Log Copy% Convert root ubuntu32 -wi-ao 7.35G swap_1 ubuntu32 -wi-a- 388.00M root ubuntu64 -wi-ao 7.35G swap_1 ubuntu64 -wi-ao 388.00M $ sudo ls /dev/ubuntu32/root /dev/ubuntu32/root $
デバイス名が分かったのでマウントして修復します。
$ sudo mount -t ext4 /dev/ubuntu32/root /mnt $
これで、/mnt/etc/sudoersを修正して修復完了です。
なんで、壊れてしまったのかは不明ですが…