2013年8月31日土曜日

Ubuntu13.04 で usermod -G やらかした後の復旧まとめ

Ubuntuでやりがち(だよね?)なミス、usermod -Gでユーザグループ追加しようとして、管理グループからユーザを外してしまいsudo出来なくなるアレ。
最近、自宅の仮想環境上のUbuntuに触ってなかったんですが、久々にログインしたらsudo権限が無く……。
前に吹っ飛ばしたままだったようなので、復旧させました。

せっかくなんで手順メモ。
SSはとり忘れたッス。


  1. 再起動してリカバリーモードで起動しなおす。
    Shift押しっぱなしにすると、GRUBが開くので、
    Advanced options for Ubuntuを選択。
    一覧から(recovery mode)とついたOSを選択。たくさん出たら上にあるやつでいいです。
  2. fsckを選択して、Read/Writeモードでマウントしなおす。
    リカバリーモード起動時は、ファイルシステムがリードオンリーなので、
    このままだと/etc/groupに書き込みすることが出来ず、グループの追加が行えません。
    なので、書き込み可能状態で再マウントする必要があります。
    本来、fsckコマンドは、ファイルシステムをチェックするコマンドですが、
    リカバリーモードの場合、実行後にファイルシステムを再マウントしてくれます。
  3. rootを選択して、ターミナルを起動。
  4. gpasswdコマンドでsudoグループにユーザを追加。
    gpasswd -a user_name sudo
    コマンドは上記のものを使いましょう。
    usermod -GはUbuntuで利用すると、指定したグループ以外を消してしまうようなので。
    普段使うときもgpasswdのほうがいいです。Ubuntuだったら。(Debianはどうなんだろう…)
  5. resumeで再起動。
  6. sudoして確認してみる。
こんな感じ。
ポイントをまとめると、
  • リカバリーモード起動直後は、リードオンリーで書き込みが出来ない。
    書き込み可能で再マウントするにはfsckを実行する。
  • Ubuntu 13.04の場合、sudo可能なグループはsudo
    昔はadminだった気がする…。いつ変わったんだろう?
こんな感じですかねー。

Ubuntu、日本だけかもしれないけど、9~11位のバージョンのときが流行のピークで
Google先生に聞いてもそれくらいのバージョンのときの解決方法が上のほうに出てくるんですよね。
すると、今の最新とは結構違った内容が出てきちゃったりします。

まぁ、GnomeからUnityになったあたりと、Macが開発用端末として流行り始めた時期から、
ユーザが減ったんだろうけど…。

出始めは悪評多かったUnityですけど、最新だと結構きれいに動くし、
VirtualBox上でも設定さえしっかりすればきれいに動いてくれるので
個人的には、これからも最新バージョンを追って使い続けたいディストリだったりします。

0 件のコメント:

コメントを投稿