永井@知能.九工大です.

From: Takahiro Kambe <taca / sky.yamashina.kyoto.jp>
Subject: [ruby-dev:14729] Re: How to abondon saved uid privilege
Date: Thu, 6 Sep 2001 18:37:41 +0900
Message-ID: <200109060937.f869bNH02724 / edge.sky.yamashina.kyoto.jp>
taca> えっと、すみません。これはsetreuid()が存在する以上、
taca> > 今の 4.4BSD 系ではそういう考え方を取っているということですね?
taca> > で,『実uid != 実効uid』が可能となる setreuid あたりは
taca> > 使わない方向となっている?
taca> ということはありませんね。

あ,ごめんなさい.
前に setreuid は obsolete だとか,FreeBSD では〜なんて話が出てたんで
勘違いしてしまいました.

もし,「setreuid は使うべきではない」というのが
それほど強い要請なり流れなりではないのなら,
setreuid と seteuid を持つときに

    Process.uid=   =>  setreuid(uid,-1) 
    Process.euid=  =>  seteuid(uid)

となってしまう現状を

    Process.uid=   =>  setreuid(uid,-1) 
    Process.euid=  =>  setreuid(-1,uid)

となるように修正することで,
「root に戻れないようにはやりようがない」という現状の問題は
一時的に回避できます.
過去との互換性を考えるなら,
応急処置としてはこれが適切なのかもしれません.

 *** ただし *** 

今言ったように,あくまでも応急処置です. 
「どうあるべきか」の議論はきちんとしておく必要があります.

というわけで,応急処置をしておいて,
あるべき姿をじっくりと議論するというのはいかがでしょう?
意見を求めます.

taca> > もし同意いだだけるなら,例えば
taca> > 「〜系は,〜の仕様の setuid と seteuid を使うことになってるけど,
taca> > setreuid も使えないことはないよ」とか,
taca> > 「〜は古い仕様なんで,保存uidなんかないよ」とか,
taca> > 環境についての情報をまとめて見ませんか?
taca> なんか、こういう内容を扱った書籍ってありませんでしたっけ。
taca> http://www.amazon.co.jp/exec/obidos/ASIN/4894713195/249-2282310-5096310
taca> (詳解UNIXプログラミング)
taca> とかは違ったかなぁ。

こちらは既に参考にしてました.
それぞれを説明してくれているのは助かるのですが,
例えば,どの関数がどの程度標準的となっているのかなど,
現実の流れとしてはどの方向に進もうとしているのかは
ちょっとわかりませんでした.

# 文章は 4.3BSD までが基準かな?

で,現実の「今」はどうなのかを知る必要があるのではと思ったわけです.

taca> http://www.amazon.co.jp/exec/obidos/tg/detail/glance/-/books/4894711893/4894711893/249-2282310-5096310
taca> (最前線UNIXのカーネル)
taca> だったかなぁ。

こちらは読んでいないのでちょっとわかりません.(^_^;
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai / ai.kyutech.ac.jp