- ベストアンサー
Webからアクセスし、画面のボタンを押すとサーバーで任意のスクリプトが起動するというようなことはできるのでしょうか。
RHL9.0でApache2.0を使用しています。 サーバーに今test.shというシェルスクリプトがあります。これは例えばあるファイルをあるディレクトリ以下に作成してパーミッションや所有者を変更したりできるものです。 taroさんがブラウザから/cgi-bin/change.cgiというページにアクセスして、自分のアカウントをテキストボックスに入れて実行のボタンを押すと、上記のスクリプトが実行され、所有者がtaroさんになるというようなことは可能でしょうか。 要するにcgiでUNIXのコマンドやスクリプトを実行させたいと言うことなのですが。単にcgiスクリプトの中に system("/…/test.sh 引数");と書いても実行してくれませんでした。 あと、テキストボックスに入力したテキストをtest.shの引数とすることも可能でしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
できるでしょう。 どこまで、分かっておられるのか、 文面では、分からないのでなんですが。 <form name="myform" action="change.cgi" method="POST"> アカウント:<input type="text" name ="id" value=""> </input> </form> こんな感じですか? 参考URLにもあるように、webでは、methodにより、 受け渡し方法が若干違います。 参考にすれば、idはとれますね。 test.shは、実行権限があるでしょうか? ないなら、system("/bin/sh /…/test.sh 引数"); と、やらないといけないですね。
その他の回答 (1)
- estea
- ベストアンサー率44% (39/87)
setuidすれ。 せいぜいセキュリティーにはお気お付け遊ばせ http://x68000.startshop.co.jp/~68user/unix/pickup?setuid http://x68000.startshop.co.jp/~68user/webcgi/permission.html#4
お礼
ありがとうございます。setuidはできたみたいなのですが、Taint検索で引っかかってるみたいで実行ができませんでした。しかし、あともう少しのようです。
お礼
ありがとうございます。参考になりました。