2016年3月10日木曜日

仮想環境でUbuntuのroot権がなくなりsudoできなくなった時の解決方法


先日、ググりながらWindows7に仮想環境VirtualBoxをインストールし、
Ubuntu14.04を入れて、いじってたらいつの間にかsudoができなくなっていたので
その解決方法の備忘録として。


sudoできなくなってしまった原因
VirtualBoxは、ゲストOS(Ubuntu14.04)とホストOS(Windows7)の間の共有フォルダを作成することができる。
調べたやり方によると、Guest Additionsをインストールし、
「デバイス」→「共有フォルダー」→「共有フォルダー設定...」
より任意のフォルダを共有設定にしたのち、Ubuntuを再起動

再起動できたら、端末で

をして、ユーザをvboxsfグループに入れることで共有フォルダの設定が完了する。

がしかし、これが原因だった。
このコマンドを打つことでユーザはsudoグループから外れてしまい、sudoできなくなるらしい。
本当は

なんだとか(合ってるかは知りません)。このusermodは少し危険なため他のコマンドを推奨しているサイトもあった。
よって、何度sudoをしても

しか出てこなくなる。
じゃぁ無理やりsudoersファイルを書き換えてやろうと思っても、root権のなくなったユーザは手も足もでない。。。
ユーザが本当にsudoから外されているかは端末で

と打てば、今自分が何のグループに所属しているかが分かる。


sudoが戻った!
復帰の方法はいろいろあるらしく、Liveディスクとか他のsudoユーザで設定するとかあったが
今回はリカバリーモードで起動することで回復できた。

Ubuntuをrecovery modeで起動
まず、Ubuntuを再起動または、Virtual Boxをリセットする。
そしたら

の画面になるので、F12を連打。

bを押し、ブート画面を開く

AdvancedをEnter

とりあえず、recovery modeを選択

recoveryメニューからrootを選択
rootを選択すると下の方にシェルが出てくる。
ここで、

とすることで、~/以下のディレクトリを再マウントする。

これでようやくお膳立てが済んだので

と入力したら、成功的なことが書かれるかと思います。Ubuntuのバージョンによってはsudoではなく、adminの場合もあるかもです。


で再起動しましょう。


で抜けることもできます。

晴れて、sudoを使えるようになりました。











0 件のコメント :

コメントを投稿