塩焼きブログ

塩焼きに関しての研究内容を公開しています

Ubuntuで唯一のユーザがsudoを失った時はリカバリモードで復元する

usermodコマンドで-aオプションを忘れてしまい、sudoグループから外れてしまいました。これでは管理者としての能力を失ってしまい、もう一度自分にsudo権限を付けることはできなくなってしまいますが、リカバリモードを使用してrootでログインすることで解決できます。

まずUbuntuを再起動して、GNU GRUBが表示されると、Advance Optionというのがあります。これを選択するとリカバリモード等が出現するのでそいつを選択。ディスクを暗号化している場合はディスクのパスワードを入力することでリカバリメニューへたどり着きます。

メニューの中にrootがありますので、それを選択するとrootログインができるようになります。

初回はパスワードが設定されていないみたいで、passwdでパスワードを設定しました。一度パスワードを設定すると次回リカバリモードからはrootでログインする場合はパスワードが必要になります。

rootでログインが完了したら下記のようにしてsudoグループに入れます。

usermod -G sudo -a username

リカバリモード便利ですね!ただ、これでは物理的にマシンを手に入れてしまえば誰でもrootでログインできちゃうのではないかと思うかもしれませんが、事前にrootにパスワードを設定しておけば問題ない。

それよりも物理的にマシンを盗まれた時のことを心配するなら、ディスクをLUKS暗号化しておけばリカバリモード起動すらできないと思うのでディスクを暗号化するのがオヌヌメ。

参考