2012-05-10 18 views
0

Apache上のCGIスクリプトからシステムコールを実行できるかどうかは疑問です。コードの一部は次のとおりです。CGI Python os.system

このコマンドは、Webページをホストしているのと同じコンピュータで実行しようとしています。この関数を実行すると、コマンドが正常に実行されないという問題があります。私は最初にsudoを追加しようとしましたが、os.system('command')は無駄になりました。

これは可能ですか?

+2

あなたがしようとしていることを説明すると役に立ちます。おそらく、外部ユーティリティを使う必要はありませんか? – Carpetsmoker

答えて

0

コマンドはユーザnobodyとして実行され、特権はほとんどありません。

+0

ルイーに感謝します。それを変える方法はありますか? – user1332449

+0

実行ファイルのsetuidビットを設定できます。これは、ファイルの所有者のアクセス許可で実行されることを意味します。 **警告**所有者がrootの場合、これは*深刻な*セキュリティリスクを引き起こす可能性があります。たとえば、apacheユーザーが所有するラッパースクリプトを作成することができます。 – Carpetsmoker

+1

dbusまたはソケット経由で特定の操作を実行する要求を受け取って、通常のユーザーとしてサーバーを実行させることができます。 cgiスクリプトは、ジョブの開始を要求することができます。 – kragniz