【发布时间】:2012-02-18 03:26:23
【问题描述】:
在 RED HAT LINUX 上:运行 APACHE
我想从 PHP 脚本运行 Perl 脚本并尝试使用以下命令:
exec("/usr/bin/perl /home/path/to/perlscript/main.pl", $output, $result);
这似乎失败了,因为 PERL 脚本需要由另一个用户 (USER1) 运行。
我尝试过使用 SUDO,但没有成功。我必须以 (USER1) 而不是用户 (APACHE) 身份运行脚本,因为 (USER1) 比 APACHE 用户拥有更多权限。
知道我会怎么做吗?
【问题讨论】:
-
我希望您无法将网络服务器连接到
sudo任何东西!您需要更改文件的权限,以便网络服务器可以访问和运行它。 -
USER1(或 ROOT)必须是运行 Perl 脚本的人,因为该用户有权运行某些命令,例如 Kill 进程。这有意义吗?
-
是的,它可以作为一个句子来理解,但不,这是一个可怕、可怕的想法。如果你让你的 web 服务器以 root 身份运行,你就是在自找麻烦。作为用户,Web 服务器可以终止它创建的进程。
-
点了。回到绘图板。
-
Perl 脚本有什么作用?
标签: php linux perl apache exec