[#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:15095] Re: setuid and seteuid

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

From: Tanaka Akira <akr@m17n.org>
Subject: [ruby-dev:15091] Re: setuid and seteuid
Date: Fri, 9 Nov 2001 17:57:59 +0900
Message-ID: <hvosnbo5njh.fsf@coulee.a02.aist.go.jp>
akr> > では,保存ユーザ ID についてはどうなのかということになります.
akr> 個人的には何も書いてないんなら変化しないというのが普通の読み方だと思い
akr> ますが。

ふむ.
ということは,比較的多くの環境での setreuid の実装と思われる
「保存ユーザ ID へも影響」というものとの互換性は
捨てているということなんですかね?
だとしたら,関数名は変えてもらった方がいいような...(^_^;

このスレッドで前に出ていた書籍での解説でも,
非特権ユーザのケースで

   +-----------+
   |           |
   V           |
  uid ------> euid ------> sid

というような関係図が出てたんで,
この方が一般的なのだろうと思ってました.

それはともかくとして,保存ユーザ ID を変更できるのが 
root 権限での setuid だけだというのであれば,
先のメールでの suid-ruby は実現不可能であるのというのは 
OK ですよね?

akr> 確認したかったのはこのことです。
akr> 逆にいえば Ruby script に対する API (Process のモジュールメソッド)の実
akr> 装で setreuid を必ず使わなければならない理由はないわけですね。

はい,そうです.
実装案で setreuid を優先してたのは,
setreuid が使えないと実現できない状態が多々あったことと,
どうせ setreuid を使うなら,それを使うように統一した方が
整合性が取りやすそうだったことと,
さらに,過去との互換性の維持が理由です.

あえて setreuid を使わずに実装するのであれば,
そのことで実現できなくなる状態が,
アプリケーション作成上不要であること,
あるいは,セキュリティ面等からできるべきでないこと
を示さねばならないのではないかと思います.

私としては,これらを示すことができなかったので
実現できる状態の確保を優先させました.

現在の案で諦めたのは,思考過程の話で示した通り,
実/実行/保存がすべて異なるというケースです.
しかし,これが可能になるのは 
root を含む場合に限ることも示しました.
root 権限があるのならあえて実/実行/保存が
すべて異なるというケースを作らなくても
権限確保はいくらでも可能です.

setuid (+ seteuid) による権限管理というのは,
set-uid ビットが有効であることが
大前提になっているように思えます.
ですが,スクリプトの場合はこれが言えないために,
setuid による権限管理で考えられている (と私が思っている) 
「実行ユーザ権限と set-uid ビット権限との往復による
アクセス権限コントロール」はうまく機能しません.
この点は先のメールで示した通りです.
また,これには保存ユーザ ID の存在も前提となるため,
保存ユーザ ID が存在しない環境でも実装できません.

現在の案では,setreuid の利用を 
setuid と seteuid の代用実装と,
実ユーザ ID <==> 実効ユーザ ID という交換とに絞ることで
setuid による権限管理に近いものにしようと意識したつもりです.
この場合,保存ユーザ ID が存在しない環境でも
権限の往復を実装することができます.

ただし,setuid の代用実装は,
純粋には setuid と同じものにはなっていません.
全く同じものにしてしまうことはできるのですが,
これをやっていないのは過去との互換性の維持のためです.
しかし,そうしたとしても,実/実効/保存の到達可能状態には
変化がないようですから,権限管理上の問題ないと考えています.
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread