68user's page 掲示板

Prev< No. 244〜246> Next  [最新発言に戻る] [過去ログ一覧]
No. 244 # M.Masuda 1999/03/29 (月) 18:09
大変お騒がせしている、M.Masudadです。
こんどこそやっと解決マークがつけられそうです。(^^ゞ

>なんか、うちの環境system関数が変です。
この件に関しては、原因はsystem関数実行時に、指定コマンドの
パスが通って無いのが原因と判明しました。
フルパス指定するとsystem関数はちゃんと動きました。
今までsystemでコマンドを使ったサーバーのnobodyにはたまたま
コマンドのパスが通っていただけみたいですね。
#いままでぜんぜん気が付かなかった....。
#なんか一人で大騒ぎしてますね。←私(>_<)

まとめるとsuidスクリプトを、実行したい権限のオーナーにして
chmod 4755 を設定。
$|=1; でバッファリングを止めて、systemで使うコマンドはフルパ
スで指定するか、パスをあらかじめ指定しておく。

closeはどうですか?、ファイルハンドルを指定しなくとも最後に
openしたハンドルのみクローズされると、思っていたのですが。
suidな時、STDOUTまでクローズされませんか?

$|=1; は、保険と考えて全てのperlスクリプトに入れた方が、悩む
回数が減りそうですね。
やはりperlもosと密接に関係しているのが改めて分かりました。
こういうケースは、UNIXのシステムを十分理解していないとデバック
しきれなかったかも知れないですね。

http://www.excel-net.co.jp/~masuda/su/
にある su.cgi に試験スクリプトを置きました。
これで見ると、だいぶ嘘ついてましたね。(^^ゞ
今までの件が判明しました。

実験に付き合ってもらってすいませんでした。
wrapper.cgiもありがとうございます。
非常に勉強になりました。m(_ _)m

ところで、wrapper.cgiでのurl指定方法のwrapper.cgi/hoge.cgi
は、知ってはいたのですがどういう動作になるのですか?

># だって、「いいページだ」と書かれるより、「ひどいページだ」と
># 書いてある方がうれしいから。悔しいので、ページを よりよいものに
># しよう、という気が起こりますよね。
いや〜こういう前向きな考え方をできる人って、今時なかなかいな
いですよ。
#68UserさんってもしかしてA型?

No. 245 # 68user 1999/03/29 (月) 20:44
> ファイルハンドルを指定しなくとも最後に openしたハンドルのみ
> クローズされると、思っていたのですが。suidな時、STDOUTまで
> クローズされませんか?
suidかどうか/httpd経由かコマンドラインか に関わらず、STDOUTが
クローズされました。そもそもcloseってファイルハンドルを省略
すべきでないし、仮に省略した場合はselectで指定されたファイル
ハンドル(デフォルトはSTDOUT)がクローズされるんじゃないですかね?
# perl4、perl5.004で試しました。

> ところで、wrapper.cgiでのurl指定方法のwrapper.cgi/hoge.cgi
> は、知ってはいたのですがどういう動作になるのですか?
print文を埋め込んで試してみませう ;-)

No. 246 # M.Masuda 1999/03/29 (月) 23:01
>suidな時、STDOUTまでクローズされませんか?
ホントだぁ...これまた私の勘違い。
いままで作ったスクリプトを見直したら、ちゃんとやってました。
意識していたわけではなく、性格的な問題?からそうしていたの
ですが、これって案外重要だったのですね。
この件でのスクリプトでの試験では、安易にそうしていただけでし
た。#お恥ずかしい。(*^_^*;;;

closeのみだとSTDOUTまでクローズされ、結果スクリプトが終了して
しまうのですね。

>パスが通って無いのが原因と判明しました。
よく考えたら、スクリプト内で$ENV{PATH}=''としてるのに、何を
言ってるんでしょう私は。(; ;)
でもなんで、$ENV{PATH}=''としなければいけないのでしょうか。
新たな疑問!
#まるで小学生のガキが、なぜなぜ攻撃してるみたいですが..(^^ゞ
#最近、私を含め周りにUNIX信者が増えている模様です。
#だって面白いんだもん。

>print文を埋め込んで試してみませう ;-)
すいません、オバカでよく分からないのですが具体的にどうすれば
私にも理解できるでしょうか。
↑完全に開きなおってるかもしれない(^_^)V

これだけいろいろ御世話になっているので、何かお礼がしたいとこ
ろですが、なにか出来る事が有れば言って下さい。
と、いっても何が出来るわけでは無いし....でも気持ちだけは有り
ます。(本気度=120%)

Prev< No. 244〜246> Next  [最新発言に戻る] [過去ログ一覧]