[#15067] rb_eval_string — OJ <oj@...7.com>

OJです。

39 messages 2001/11/08
[#15068] Re: rb_eval_string — nobu.nakada@... 2001/11/08

なかだです。

[#15069] Re: rb_eval_string — OJ <oj@...7.com> 2001/11/08

OJです。

[#15071] Re: rb_eval_string — nobu.nakada@... 2001/11/09

なかだです。

[#15077] Re: rb_eval_string — OJ <oj@...7.com> 2001/11/09

OJです。

[#15078] Re: rb_eval_string — WATANABE Hirofumi <eban@...> 2001/11/09

わたなべです。

[#15083] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/09

こんにちは、なかむら(う)です。

[#15088] Re: rb_eval_string — nobu.nakada@... 2001/11/09

なかだです。

[#15089] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/09

こんにちは、なかむら(う)です。

[#15092] Re: rb_eval_string — nobu.nakada@... 2001/11/09

なかだです。

[#15096] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/09

こんにちは、なかむら(う)です。

[#15109] Re: rb_eval_string — WATANABE Hirofumi <eban@...> 2001/11/12

わたなべです。

[#15112] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/12

こんにちは、なかむら(う)です。

[#15114] Re: rb_eval_string — WATANABE Hirofumi <eban@...> 2001/11/12

わたなべです。

[#15115] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/12

こんにちは、なかむら(う)です。

[#15119] Re: rb_eval_string — WATANABE Hirofumi <eban@...> 2001/11/12

わたなべです。

[#15121] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/12

こんにちは、なかむら(う)です。

[#15124] Re: rb_eval_string — WATANABE Hirofumi <eban@...> 2001/11/12

わたなべです。

[#15126] Re: rb_eval_string — "U.Nakamura" <usa@...> 2001/11/12

こんにちは、なかむら(う)です。

[#15174] strange behavior about PTY.spawn — akira yamada / やまだあきら <akira@...>

18 messages 2001/11/15
[#15176] Re: strange behavior about PTY.spawn — matz@... (Yukihiro Matsumoto) 2001/11/15

まつもと ゆきひろです

[#15251] Re: [ruby-ext:01999] Re: syslog module is becoming ready — "Akinori MUSHA" <knu@...>

 というわけで 1.7 に syslog モジュールを入れました。

43 messages 2001/11/26

[#15270] ruby on NetBSD — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

25 messages 2001/11/28
[#15271] Re: ruby on NetBSD — Takahiro Kambe <taca@...> 2001/11/28

In message <20011128181510.3D11.USA@osb.att.ne.jp>

[#15272] Re: ruby on NetBSD — "U.Nakamura" <usa@...> 2001/11/28

こんにちは、なかむら(う)です。

[#15278] Re: ruby on NetBSD — Takahiro Kambe <taca@...> 2001/11/28

In message <20011128182726.3D14.USA@osb.att.ne.jp>

[#15296] Re: ruby on NetBSD — "U.Nakamura" <usa@...> 2001/11/29

こんにちは、なかむら(う)です。

[#15298] time.rb — Tanaka Akira <akr@...17n.org>

というわけで、timex.rb 改め time.rb が rough に入ったのでご意見募集です。

27 messages 2001/11/29

[ruby-dev:15090] Re: setuid and seteuid

From: nagai@...
Date: 2001-11-09 08:09:58 UTC
List: ruby-dev #15090
永井@知能.九工大です.

From: Tanaka Akira <akr@m17n.org>
Subject: [ruby-dev:15086] Re: setuid and seteuid
Date: Fri, 9 Nov 2001 15:49:17 +0900
Message-ID: <hvoy9lg5thy.fsf@coulee.a02.aist.go.jp>
akr> 問題はここで、unspecified と明確に書いてある以上、SUSv2 で保証された範
akr> 囲ではできないと判断せざるをえないのではないかと思います。そのような実
akr> 装が存在するかどうかではなく、存在してもそれを SUSv2 に従っているとい
akr> えるのが問題なわけです。

なるほど.それはそうですね.
root による setreuid の実行であれば uid が変ることは保証されるが,
非 root であれば変更可能な環境もあればそうでない環境もある.
でも,考えてみると,setreuid でダメだからといって,
他の関数を使えばできるかというと,できないですよね.
したがって,setuid(id) を setreuid(id,-1) で代用しても
同じということになりませんか?

で,保存ユーザ ID については,このマニュアルでは何も言ってませんよね?
unspecified と書いてある部分は
「非特権プロセスが実ユーザ ID を,現在の実/実効/保存ユーザ ID の
  いずれかと等しい値に設定できるかどうかは未定義である」
ということですよね.

では,保存ユーザ ID についてはどうなのかということになります.

ちなみに,今,この仕様をじっくりと見てて思ったんですが,
多分,これを最低限満たす仕様というのは 
setuid + seteuid でできる範囲と同じものですよね?
となると,ダメなものが含まれるのは仕方がない.
そう考えてしまうと,

akr> むろんこれは「SUSv2 に従った実装では動く」という主張ができないという以
akr> 上の意味はなく、実現に支障があるかどうかは個々の実装を調べなければなら
akr> ないということなんですが。

...というわけで,
結局は個別対応とせざるを得ないということですか...(^_^;

akr> > それはわかるんですが,setuid + seteuid だけだと,
akr> > suid-ruby が実現できなくて.(^_^;
akr> これはこれで興味深い話題で、深入りしたい気はするんですが、その前にひと
akr> つ聞いておきたいことがあります。
akr> suid-ruby って Ruby script で実現するんですか?

多くの (ほとんどの?) 環境では,
スクリプトに set-uid ビットをセットしても
set-uid ビットは有効になりませんよね.
例えばファイルオーナが bar の ruby スクリプト xxx.rb で
set-uid ビットを立てて foo が実行しても,
実/実効/保存は foo/foo/foo にしかならない.
foo/bar/bar にはなってくれないわけです.
で,suid-ruby はこれを可能にするための仕組みです.
# ですよね? > 他のみなさん

具体的には suid-ruby バイナリのファイルオーナを 
root にして,set-uid ビットを立てます.
これにより先の xxx.rb を実行すると,
suid-ruby バイナリが起動した時点で
実/実効/保存が foo/root/root になります.
で,suid-ruby は,起動するとすぐに
動かそうとしている xxx.rb のファイルモードを調べ,
あたかも xxx.rb の set-uid ビットを有効に働いたかのように
実/実効/保存を foo/bar/bar に変更した後,xxx.rb を実行します.

# suid-ruby 内で実行できることをどこまで制限するかは
# また別の問題です.

ですから,Process.uid= 等の実装と,
suid-ruby の実現部分とは少し話が違います.
Process.uid= 等の実装では使えなくしている C function も,
suid-ruby の実現部分 ( foo/root/root ==> foo/bar/bar の変換 ) 
に必要であれば使って構わないということになるわけなんですが,
そうであったとしても setuid + seteuid の範囲では
foo/root/root ==> foo/bar/bar の変換が実現できないようなので,
さて困ったなというわけです.(^_^)
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread