From: sakazuki Date: 2003-05-22T06:53:03+09:00 Subject: [ruby-list:37714] Re: setuidと$SAFE sakazukiです。 > qmilのdot-qmailから起動させたスクリプトをset user idしていた場合 > $SAFE=1となることがわかりました。 > これはそういう仕様なのでしょうか? > $SAFE=0のままにしておくことはできるのでしょうか? わかりました。 ruby.cのinit_idsの中に if (uid && (euid != uid || egid != gid)) { rb_set_safe_level(1); } という部分を見つけました。 実効ユーザIDと、実ユーザIDが違うか 実効グループIDと、実グループIDが違う場合には $SAFE=1になるようですね。 eval.c:ruby_init -> ruby.c:ruby_prog_init -> ruby.c:init_ids と呼ばれており、どうも回避する方法はないみたいですね。 ---- sakazuki(QZS01353@nifty.ne.jp) hp: http://homepage2.nifty.com/sakazuki/