@syuu1228 すっごく初歩的なこと聞きますが、Linuxの各ユーザ権限ってどのように管理されてるのですか?>< rootってビルドインですか?><
2011-06-05 04:41:20@rofi 今のLinuxがどうなってるかってのは僕は知らないけど、基本的にはuid 0とそれ以外で処理が分かれてる作りだったかと…
2011-06-05 04:43:04@syuu1228 いえ、そもそもどういう仕組で動いているか知らなかったのでこんな初歩的なことを聞いてるのです><;;; 実際、各ユーザごとの権限管理とかってどうなってるのかなぁ~とかユーザで出来ることの制限とかってどこで決まってるのかなぁ~とか気になってることはたくさん。。。
2011-06-05 04:52:03@rofi 私もしっかりと分かってる訳ではないし特に最新のLinuxについて知ってる訳じゃないけど… 基本的な考え方は、uid/gidで管理・uid:0が特別(root)・それ以外は通常ユーザ・ユーザ名/グループ名はユーザ空間で/etc/passwd・groupsから引く、かな?
2011-06-05 04:55:46@rofi あと、/etc/passwdって書いたけど、単にそこを見てるってのは嘘で、nssとかpamとかいう機構で認証システムはモジュール化されてたから複数の認証機構から好きなものを選べるようになってて、デフォルトがファイルってだけなはず でも結局uid/gidになる
2011-06-05 04:58:26@syuu1228 となると〇〇グループに属してるユーザだけ~××できるみたいなもの(wheelでsudoとか)って言うのは、操作を受ける側のプログラム(sudoとか)が自分でチェックして受理/非受理してるだけで(続きます)
2011-06-05 05:04:08@syuu1228 結局はそのプログラムが認証を行うシステム(実際の認証機構は別に委託してる場合でも)持つかどうかってだけでカーネルは一切関与しないわけですね
2011-06-05 05:04:11@rofi 名前からuid引くとかパスワードで認証するとかの機構はユーザランドに任されてて、カーネルは関わらないっぽ。カーネルが気にするのはuid/gidだけなんじゃないかな
2011-06-05 05:06:28@rofi 今の話だけじゃ何故suで権限昇格出来るのかは説明が付かなくて、それを説明するにはファイルの特別なパーミッションのsetuidが必要になってる(他の幾つかのコマンドでも使ってる
2011-06-05 05:09:42@rofi カーネルは一般ユーザがforkしたプロセスをroot権限で走らせるような仕組みを持ってはいないはず。大体認証そのものはカーネルがやっていない以上それオッケーなのか確認しようないはずだし。なので、そもそもコマンド自体がrootで走ってるはず。はず…
2011-06-05 05:17:34@rofi あとファイルのACL以外にも、ユーザの権限を今までより細かく制限するケーパビリティとかあるぽ http://www.atmarkit.co.jp/fsecurity/rensai/lids03/lids01.html
2011-06-05 05:22:10@syuu1228 ん、ん、ん?>< 言ってることは大体はわかるのですが、そもそもrootに昇格させるときって誰が認証してるのですか? 確かにカーネルさんが認証機構を持ってるとは思えないですが、だからと言ってユーザランドでやってたらそこを突かれそうな気も・・・あれ?><
2011-06-05 05:23:05