[#15357] Regexp literal and Regexp.new() — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

14 messages 2001/12/05
[#15358] Regexp in UTF-8 (Re: Regexp literal and Regexp.new()) — TAKAHASHI Masayoshi <maki@...> 2001/12/05

高橋征義です。むーん、問題のありかが違ったかも。

[#15435] Time#utcoff — Tanaka Akira <akr@...17n.org>

In article <hvosnahj702.fsf@coulee.a02.aist.go.jp>,

20 messages 2001/12/13
[#15436] Re: Time#utcoff — matz@... (Yukihiro Matsumoto) 2001/12/14

まつもと ゆきひろです

[#15505] ERb — m_seki@...

74 messages 2001/12/20
[#15560] Re: ERb — Tanaka Akira <akr@...17n.org> 2001/12/27

In article <20011220114249J.seki@mr.nasu.toshiba.co.jp>,

[#15879] Re: ERb — m_seki@... 2002/02/12

[#15884] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/14

In article <m3eljr5o9m.wl@edwin.mva.biglobe.ne.jp>,

[#15885] Re: ERb — m_seki@... 2002/02/14

[#15886] Re: ERb — m_seki@... 2002/02/14

[#15887] Re: ERb — TAKAHASHI Masayoshi <maki@...> 2002/02/14

高橋征義です。

[#15888] Re: ERb — m_seki@... 2002/02/14

[#15896] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/15

In article <20020215085405G.seki@mr.nasu.toshiba.co.jp>,

[#15898] Re: ERb — m_seki@... 2002/02/15

[#15900] Re: ERb — TADA Tadashi <sho@...> 2002/02/16

ただただしです。

[#15901] Re: ERb — m_seki@... 2002/02/16

[#15906] Re: ERb — matz@... (Yukihiro Matsumoto) 2002/02/17

まつもと ゆきひろです

[#15909] 1.6 の寿命 (Re: Re: ERb) — Koji Arai <JCA02266@...> 2002/02/17

新井です。

[#15507] fileutils (2) — Minero Aoki <aamine@...>

あおきです。

30 messages 2001/12/20
[#15512] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/20

高橋征義です。

[#15513] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15515] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/21

高橋征義です。結論は最後に。

[#15516] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15533] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/22

高橋征義です。

[#15536] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15540] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/24

高橋征義です。

[#15545] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15557] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/26

高橋征義です。

[#15567] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/27

あおきです。

[#15573] [patch] resolv.rb for win32 platform — Tietew <tietew-ml-ruby-dev@...>

Tietew です。

22 messages 2001/12/28

[ruby-dev:15389] Re: new methods to treat uid/gid

From: nagai@...
Date: 2001-12-07 04:49:05 UTC
List: ruby-dev #15389
永井@知能.九工大です.

From: matz@ruby-lang.org (Yukihiro Matsumoto)
Subject: [ruby-dev:15388] Re: new methods to treat uid/gid
Date: Fri, 7 Dec 2001 13:03:56 +0900
Message-ID: <1007682425.026145.29118.nullmailer@ev.netlab.jp>
matz> 私自身はこのユーザID/グループIDについて(いまだに)十分正しく
matz> 理解している自信がないのですが、過去の永井さんの論旨には十分
matz> 説得力があったので、この方向で受け入れようと思っています(1.7
matz> 系で)。

私も本当に大丈夫かを心配しつつ書いています.
自信があれば,もう少し強く主張できているかもしれません.(^_^;

例えば,実装を開始してみるまでは,
Process.uid= があれほど面倒になるとは思っていませんでした.
一つ前の仕様案と比較すると,何がやっかいごとの原因だったかは
わかっていただけると思います.
古い方では,Process.uid= を root 権限を持つ状況でだけを
想定していたのですが,よく考えてみると,
例えば (uid,euid,suid) == (user,uucp,uucp) のような状況で
uucp の権限を放棄したいケースも含まれることに気付きました.
このケース,Process.euid=user では (user,user,uucp) となり,
uucp 権限を放棄できないですよね (Process.euid=uucp が可能).
で,Process.uid= の目的を鑑み,利用可能な関数を駆使して,
このようなケースでも可能な限り (user,user,user) の状態に
できるようにしてみました.
安全のため,きちんと放棄できない場合には例外を上げるようにしたので,
「処理を続けてもいいかはそれで判断してください」ということです.

matz> ただ、以下の点は気になります。より広く意見を求めます。
matz> |Process.swap_uid
matz> |Process.switch_uauth() { ... }
matz> このふたつのメソッドの名前にはまだ違和感があります。独自の名
matz> 前の導入には慎重になっているというのもありますが。

これらについては,私も仮名のつもりでインプリメントしています.
いい名前が思いつかなかったので,「意見がでないかなぁ」と.(^_^)

matz> |         保存ユーザ ID の変化は,Process.swap_uid が定義されているかで決まる.
matz> とあり、
matz> |  注意 : setresuid か setreuid を持たない環境には設定されない.
matz> とあるので、swap_uidは環境によって定義されたりされなかったり
matz> するものとして考えられているんですよね。しかし、ほかの多くの
matz> メソッドは対応していないプラットフォームではNotImplementedError
matz> 例外をあげる方が一般的のようです。

最初は例外をあげるようにしていたのですが,
環境による動作の差異を判断するために
実際に swap_uid を動かさねばならないというのは
問題では?と考えました.
で,どうせ動かないんだから,いっそのことなくしてしまって,
その有無で判定するのではどうかと思い,
そのようにしてみたのが先のパッチです.

ちなみに今は,例外的環境として挙がっているのが 
OpenBSD だけですのでああしていますが,
もっと多くの環境で例外対応せざるを得ないなら,
---------------------------------
#if defined(__OpenBSD__) || defined(...) || ...
#undef HAVE_SETREUID
#endif
---------------------------------
などとしておく方がいいですよね.

# 最初からそうしておくべきでした.(^_^;

matz> 一貫性のために、swap_uid(相当)メソッドはいつも用意して
matz> NotImplementedError例外で対応するというのならば、保存ユーザ
matz> IDがあるかないかを知る別の方法を用意する必要があるでしょうし。
matz> この辺はどういう風に考えるのがよいでしょうか。

う〜む.何らかの定数を用意しておくべきなんですかねぇ...
用意するなら,「保存ユーザ ID を持つか」と
「実と実効ユーザ ID の交換が可能か(ただし,
保存ユーザ ID が存在するならそれに影響すること)」との
二つが判断できるだけのものということになりそうです.
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread

Prev Next