Apache上のCGIスクリプトからシステムコールを実行できるかどうかは疑問です。コードの一部は次のとおりです。CGI Python os.system
このコマンドは、Webページをホストしているのと同じコンピュータで実行しようとしています。この関数を実行すると、コマンドが正常に実行されないという問題があります。私は最初にsudo
を追加しようとしましたが、os.system('command')
は無駄になりました。
これは可能ですか?
Apache上のCGIスクリプトからシステムコールを実行できるかどうかは疑問です。コードの一部は次のとおりです。CGI Python os.system
このコマンドは、Webページをホストしているのと同じコンピュータで実行しようとしています。この関数を実行すると、コマンドが正常に実行されないという問題があります。私は最初にsudo
を追加しようとしましたが、os.system('command')
は無駄になりました。
これは可能ですか?
コマンドはユーザnobody
として実行され、特権はほとんどありません。
ルイーに感謝します。それを変える方法はありますか? – user1332449
実行ファイルのsetuidビットを設定できます。これは、ファイルの所有者のアクセス許可で実行されることを意味します。 **警告**所有者がrootの場合、これは*深刻な*セキュリティリスクを引き起こす可能性があります。たとえば、apacheユーザーが所有するラッパースクリプトを作成することができます。 – Carpetsmoker
dbusまたはソケット経由で特定の操作を実行する要求を受け取って、通常のユーザーとしてサーバーを実行させることができます。 cgiスクリプトは、ジョブの開始を要求することができます。 – kragniz
あなたがしようとしていることを説明すると役に立ちます。おそらく、外部ユーティリティを使う必要はありませんか? – Carpetsmoker