2012-01-24 15 views
1

からのPerlスクリプト:私はPerlスクリプトを実行するPHPスクリプトからAPACHE実行RED HAT LINUX上でPHP/Apacheの

を実行し、次のコマンドを使用して、そうしようとしています:

exec("/usr/bin/perl /home/path/to/perlscript/main.pl", $output, $result); 

これは、PERLスクリプトを別のユーザー(USER1)が実行する必要があるため、失敗したようです。

私はSUDOを使用するのに成功しなかった。 (USER1)はAPACHEユーザーより多くの権限を持っているため、ユーザー(APACHE)ではなく(USER1)としてスクリプトを実行する必要があります。

どうすればいいですか?

+4

私は**あなたが 'sudo'にウェブサーバーを手に入れることができなかったことを望みます**! Webサーバーがアクセスして実行できるように、ファイルのアクセス許可を変更する必要があります。 –

+0

USER1(またはROOT)は、そのユーザーがKillプロセスのような特定のコマンドを実行する権限を持っているため、Perlスクリプトを実行するものでなければなりません。それは理にかなっていますか? – mmundiff

+3

はい、それは文章としては理解できますが、いいえ、それは恐ろしい恐ろしい考えです**。 Webサーバーにroot権限で実行させる場合は、問題を抱えています。 Webサーバーは、ユーザーとして、作成したプロセスを強制終了することができます。 –

答えて

0

あなたのperlスクリプトが何をしているかを完全に知らなくても、おそらくperlスクリプトを実行するcronジョブを実行することを検討してください。これにより、Apacheから完全に隔離され、サーバーを侵害することなくrootとして動作することができます。

+0

あなたのデータベースサーバを監視するデーモンを書くつまり、pingを実行したり、SNMP経由で監視することができます。 – Skittles

関連する問題