在Red Hat Linux:運行Apache運行Perl腳本從PHP/Apache的
從PHP腳本我想運行一個Perl腳本,我試圖用以下命令這樣做:
exec("/usr/bin/perl /home/path/to/perlscript/main.pl", $output, $result);
這似乎失敗了,因爲PERL腳本需要由另一個用戶(USER1)運行。
我試過沒有成功使用SUDO。我必須以(USER1)而不是用戶(APACHE)運行腳本,因爲(USER1)具有比APACHE用戶更多的權限。
任何想法我會怎麼做?
我會**希望**你無法讓網絡服務器「sudo」任何東西!您需要更改文件的權限,以便Web服務器可以訪問並運行它。 – 2012-01-24 21:22:20
USER1(或ROOT)必須是運行Perl腳本的用戶,因爲該用戶有權運行某些命令,如殺死進程。那有意義嗎? – mmundiff
是的,它作爲一個句子是可理解的,但不是,這是一個**可怕的,可怕的想法**。如果你讓你的web服務器以root身份運行,你就會乞求麻煩。 Web服務器作爲一個用戶可以終止它創建的進程。 – 2012-01-24 21:30:06