ksaitoの日記

日々試したことの覚え書き

Ubuntuにroot権限でログインできなくなった場合

どういう訳か、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を修正して修復完了です。
なんで、壊れてしまったのかは不明ですが...