In message <999700675.662743.18683.nullmailer / ev.netlab.jp>
	on Thu, 6 Sep 2001 00:00:28 +0900,
	matz / ruby-lang.org (Yukihiro Matsumoto) wrote:
> あまり話についていけてるとは言えないのですが、要するに
> setruid/seteuidを優先するべきということなんでしょうか?
おそらく規格(POSIX等)的には、setuid()/seteuid()なんでしょう。

ただ、Process.uid= や Process.euid= の仕様的にどうあるべきなんでしょう?

% irb
irb(main):001:0> Process.uid
100
irb(main):002:0> Process.uid = 1
1
irb(main):003:0> Process.uid = 0
0
irb(main):004:0> Process.uid
100

となって、何も例外は起きません。正常にuid(実UID)を設定できてる様で、実
はできてません。Process.euid= の方は、

irb(main):005:0> Process.euid
100
irb(main):006:0> Process.euid = 0
Errno::EPERM: Operation not permitted
        from (irb):6:in `euid='
        from (irb):6
irb(main):007:0> Process.euid = 1
Errno::EPERM: Operation not permitted
        from (irb):7:in `euid='
        from (irb):7

と、例外が起きます。

--
神戸 隆博(かんべ たかひろ) at home