あぁ管理者権限が消えてしまったよ
sudo実行時に、sudoerじゃないからsudoさせないよ。(user1 is not in the sudoers file. This incident will be reported.)
って警告が出てしまった場合は
間違えて管理者権限を消してしまった可能性があります。
(以下、Ubuntu 12.04 LTSでの対処法なので他のバージョンでは異なる可能性があります。)
まず、該当ユーザーのグループを確認しましょう。
Ubuntu 12.04では”sudo”というグループに属しているユーザーにsudo権限が付いています。
(ここは/etc/sudoersに書かれている設定に依存しているはずです)
groups
と打つと、自分が所属しているグループが表示されます。
ここにsudoがないとsudoを実行することができません。
1.他のsudo権限があるユーザーで直す
他のユーザーでログインをして
sudo gpasswd -a ユーザー名 sudo
というコマンドを実行すれば、無事sudo権限が与えられるはずです。
もし、どのユーザーにもsudo権限がない場合は他の方法で対応する必要があります。
2.LiveCDを使ってリカバリーモードにしてみる。
リカバリーモードで起動すると、読み取り専用で最初マウントされているので
fsckなど何か適当なモードを実行して、読み書き用で再マウントされるようにしてください。
その後、先ほどの画面で”root”を選択してRoot権限でコンソールを立ち上げてください。
立ち上がったら、
sudo gpasswd -a ユーザー名 sudo
で実行します。
参考
gpasswdの使い方など http://tobysoft.net/wiki/index.php?Ubuntu%2Fgroup%A4%CE%B4%C9%CD%FD%CA%FD%CB%A1
リカバリーモードについて画像付きで解説されています http://kledgeb.blogspot.jp/2012/08/ubuntu-1204_28.html
3.LiveCDを使ってUbuntuを起動させて無理やりに設定ファイルを変更する
2.同様にLiveCDを使います。Ubuntuをインストールせずに起動します。
起動後、Ubuntuがインストールされているドライブがマウントされているはずです(左側のタスクバーにHDDのアイコンがあるはず)
タスクバーの一番上のホームボタンを押して”Terminal”を起動します。
(Vimが入っていなかったのでgeditで開きましたがなんでもいいと思います。)
sudo gedit /etc/group
でエディタを起動します。
グループ名:x:グループID:所属するユーザー
という書式なので、sudoというグループを検索します。
検索した末尾にユーザー名を追加して保存すればOKです。
(参考:グループファイルの見方について http://kazmax.zpp.jp/linux_beginner/etc_group.html)
/etc/groupを変更後、PCを再起動すれば無事設定したユーザーでsudoが使えるようになります。
そもそも何で発生したのか・・・
グループを追加するつもりが、上書きしてしまったことが原因のようです。
グループ設定は再起動するまで反映されないようなので、しばらくの間気づきませんでした。
グループ設定を行うときは、上書きしないように気をつけましょう。