rootって何だろう

LinuxでのユーザIDの管理方法について
2
🌸桜花🌸 @rofi

そういやrootって何だろう?  <すごく曖昧な言い方

2011-06-05 04:33:58
🌸桜花🌸 @rofi

@syuu1228 すっごく初歩的なこと聞きますが、Linuxの各ユーザ権限ってどのように管理されてるのですか?><  rootってビルドインですか?><

2011-06-05 04:41:20
イスラエルエリカちゃん @syuu1228

@rofi 今のLinuxがどうなってるかってのは僕は知らないけど、基本的にはuid 0とそれ以外で処理が分かれてる作りだったかと…

2011-06-05 04:43:04
nakj @nakj

@syuu1228 @rofi カーネルさんがやってるの?

2011-06-05 04:44:08
イスラエルエリカちゃん @syuu1228

@nakj @rofi 権限チェックはカーネル内でやってるはず

2011-06-05 04:45:24
🌸桜花🌸 @rofi

@syuu1228 となると、ユーザ名が"root"かどうかが問題なのではなく「uidが0」が問題ってことですか  なるほどですっ><

2011-06-05 04:48:10
イスラエルエリカちゃん @syuu1228

@rofi ユーザ名自体ってカーネルまで上がってたっけ?uid/gid見てるだけじゃないか?

2011-06-05 04:48:48
🌸桜花🌸 @rofi

@syuu1228 いえ、そもそもどういう仕組で動いているか知らなかったのでこんな初歩的なことを聞いてるのです><;;;  実際、各ユーザごとの権限管理とかってどうなってるのかなぁ~とかユーザで出来ることの制限とかってどこで決まってるのかなぁ~とか気になってることはたくさん。。。

2011-06-05 04:52:03
イスラエルエリカちゃん @syuu1228

@rofi 私もしっかりと分かってる訳ではないし特に最新のLinuxについて知ってる訳じゃないけど… 基本的な考え方は、uid/gidで管理・uid:0が特別(root)・それ以外は通常ユーザ・ユーザ名/グループ名はユーザ空間で/etc/passwd・groupsから引く、かな?

2011-06-05 04:55:46
イスラエルエリカちゃん @syuu1228

@rofi で、ファイルのアクセス権限チェックはファイルオーナ/パーミッションと現在のuid/gidでチェック、と

2011-06-05 04:56:22
イスラエルエリカちゃん @syuu1228

@rofi 実際にはそこに後付でACLが付いたりしてるけど

2011-06-05 04:57:06
イスラエルエリカちゃん @syuu1228

@rofi あと、/etc/passwdって書いたけど、単にそこを見てるってのは嘘で、nssとかpamとかいう機構で認証システムはモジュール化されてたから複数の認証機構から好きなものを選べるようになってて、デフォルトがファイルってだけなはず でも結局uid/gidになる

2011-06-05 04:58:26
🌸桜花🌸 @rofi

@syuu1228 となると〇〇グループに属してるユーザだけ~××できるみたいなもの(wheelでsudoとか)って言うのは、操作を受ける側のプログラム(sudoとか)が自分でチェックして受理/非受理してるだけで(続きます)

2011-06-05 05:04:08
🌸桜花🌸 @rofi

@syuu1228 結局はそのプログラムが認証を行うシステム(実際の認証機構は別に委託してる場合でも)持つかどうかってだけでカーネルは一切関与しないわけですね

2011-06-05 05:04:11
イスラエルエリカちゃん @syuu1228

@rofi 名前からuid引くとかパスワードで認証するとかの機構はユーザランドに任されてて、カーネルは関わらないっぽ。カーネルが気にするのはuid/gidだけなんじゃないかな

2011-06-05 05:06:28
🌸桜花🌸 @rofi

@syuu1228 にゃるほど~  ありがとうございますですっ><

2011-06-05 05:07:34
イスラエルエリカちゃん @syuu1228

@rofi 今の話だけじゃ何故suで権限昇格出来るのかは説明が付かなくて、それを説明するにはファイルの特別なパーミッションのsetuidが必要になってる(他の幾つかのコマンドでも使ってる

2011-06-05 05:09:42
🌸桜花🌸 @rofi

@syuu1228 あれ、suで権限昇格出来る理由ってsu自体がsetuid使ってるからなんですかっ><

2011-06-05 05:12:25
🌸桜花🌸 @rofi

@syuu1228 @mrxptn 私にはまとめられないので安心(?)してくださいっ!

2011-06-05 05:14:16
イスラエルエリカちゃん @syuu1228

@rofi カーネルは一般ユーザがforkしたプロセスをroot権限で走らせるような仕組みを持ってはいないはず。大体認証そのものはカーネルがやっていない以上それオッケーなのか確認しようないはずだし。なので、そもそもコマンド自体がrootで走ってるはず。はず…

2011-06-05 05:17:34
イスラエルエリカちゃん @syuu1228

@rofi あとファイルのACL以外にも、ユーザの権限を今までより細かく制限するケーパビリティとかあるぽ http://www.atmarkit.co.jp/fsecurity/rensai/lids03/lids01.html

2011-06-05 05:22:10
🌸桜花🌸 @rofi

@syuu1228 ん、ん、ん?><  言ってることは大体はわかるのですが、そもそもrootに昇格させるときって誰が認証してるのですか?  確かにカーネルさんが認証機構を持ってるとは思えないですが、だからと言ってユーザランドでやってたらそこを突かれそうな気も・・・あれ?><

2011-06-05 05:23:05