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

From: Takahiro Kambe <taca / sky.yamashina.kyoto.jp>
Subject: [ruby-dev:14709] Re: How to abondon saved uid privilege
Date: Thu, 6 Sep 2001 13:39:50 +0900
Message-ID: <200109060439.f864diH02502 / edge.sky.yamashina.kyoto.jp>
taca> 『実uid != 実効uid』とするには、setuid bitによるexecve(2)を介した方法
taca> 以外では不可能というのが、setuid bitの機能に基づいたセキュリティ・モデ
taca> ルなのだと僕は理解しています。言い替えれば、それ以外の方法で『実uid !=
taca> 実効uid』との状況を作り出せてはならないということです。

今の 4.4BSD 系ではそういう考え方を取っているということですね?
で,『実uid != 実効uid』が可能となる setreuid あたりは
使わない方向となっている?

すみません.ちょっと思いつかなかったので,もう一つ質問です.
逆に,『実uid != 実効uid』とできるのは良くないというのは
どのような状況が想定されているのでしょうか?

それはそれとして,少しづつ状況が明確化してきたので,
話を次の段階に進めてみます.

 「Process.uid= ,Process.euid= ( あるいは追加のメソッド ) は
   どうあるべきか」

です.
環境はいくつも考えられますが,
Ruby としては可能な限り仕様を統一した方が
いいのではないかと思うのですが,いかがでしょう?

# 統一しなくてもいいのなら,極論としては,
# setuid や setreuid など,すべてを用意するだけ用意して,
# それが存在しない環境では例外発生というのでも
# いいってことになりますよね.(^_^)

もし「可能な限り仕様統一」というのに合意が得られるのであれば,
どうあるのが望ましいか,どうであれば仕様統一範囲を広くできるかです.
この議論のためには,実際の環境としては
どのようなバリエーションがあるかを整理する必要があると考えます.

もし同意いだだけるなら,例えば
「〜系は,〜の仕様の setuid と seteuid を使うことになってるけど,
setreuid も使えないことはないよ」とか,
「〜は古い仕様なんで,保存uidなんかないよ」とか,
環境についての情報をまとめて見ませんか?
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai / ai.kyutech.ac.jp