2008年11月2日日曜日

ubuntuでusermodを使ってはいけない

はまった。
見事にはまった。
丁度linuxマシンが必要になり、ubuntu8.10が出たので入れていじったところではまった。

ubuntuはrootユーザを使用しない仕組みなので、sudoで運用するのだけれども、
なんとusermodでグループをいじるとadminグループを明示しないとadminグループから外され、
sudo出来なくなってしまう(!)。

http://typex2.wordpress.com/2008/07/28/ubuntu%E3%81%A7%E4%B8%8D%E7%94%A8%E6%84%8F%E3%81%ABusermod%E3%81%A7%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%8C%E6%89%80%E5%B1%9E%E3%81%99%E3%82%8B%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E5%A4%89/

より、
ところが、Ubuntuのデフォルトの設定では、adminグループに所属しているユーザ以外はrootになれない設定になっています。

例:usermod -G users ユーザID

を実行すると、ユーザIDが所属しているセカンダリグループはusersだけになってしまいます。そうすると、sudoを実行してもrootになれなくなります。

そこで、正しくは、

例:usermod -G admin,users ユーザID

のように、adminに加えて、カンマで区切ってusersというユーザIDを追加しないといけません。


慌ててインストールディスクを使ってCD起動し、使用ユーザをadminグループに入れようと/etc/groupを編集しても時既に遅し。
adminグループに突っ込んだ(admin:x:123:ユーザ名 123部分はマシン固有の筈)
sudoは出来るようになってもエラーを吐き出す。

泣く泣く再インストールし、groupを見ると、初期ユーザは
adm
dialout
cdrom
plugdev
lpadmin
admin
に所属している。
・・・あれ、話が違うぞ・・・?

GUIメニューのシステム>システム管理>ユーザとグループで新規ユーザを作成してみると、
プロファイルというものを選べるようになっている。
迷わずadministratorを選択し、もう嫌だと思いながらグループの選択をadminにしたユーザを作成し、/etc/groupを見てみると

・・・どのグループにも書かれていない・・・

誰かこの答えを教えて下さい。

ubuntu・・・むしろdebian・・・もう嫌だ・・・redhat系が良い・・・。

2 件のコメント:

  1. 元のgroup全てに追加しなおしたら元に戻せましたよ。

    grep rootユーザー名 /etc/group
    を全て追加すればOKです。

    返信削除
  2. はじめまして!
    なるほど、rootがはまっているgroupをgrepするのか・・・勉強になります。

    返信削除