永发信息网

php执行shell命令权限问题

答案:4  悬赏:0  手机版
解决时间 2021-02-07 22:12
  • 提问者网友:咪咪
  • 2021-02-07 14:35
已经忙活了一天了,始终没能解决这个问题,特来求助!!!
系统情况:Fedora16, php5.3.8, Apache 2.2.21
目的:希望通过php调用shell命令,然后把执行后的结果在localhost的web界面上显示出来。
问题:http error log日志总是提示Permission denied

几点说明:
(1) php程序本身没有问题,在shell中执行php test.php可以正确显示出结果,但是构建到web页面上调用该php脚本时,无法正确执行,怀疑是权限问题。
(2) 已经尝试修改/etc/httpd/conf/httpd.conf。将User和Group修改为系统用户,不是apache,但仍然无法正确执行php。
(3) 尝试使用super工具,但依然是shell中可以正确执行php,但web页面无法正确执行,error_log提示Permission denied。

希望高手能给出建议啊!!!附上我的php代码。

php:

// echo "success\n";
$result = system('/bin/super repcr -s test.hash -n1 -g1 AACATTCTACTGC CATTTTGTTTCTCC 10-4000');
print_r($result);
echo "\n";
?>
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-02-07 15:57
这个是权限不足的问题
为apache添加一个用户 例如apache

visudo
全部回答
  • 1楼网友:千杯敬自由
  • 2021-02-07 18:10
buqingchu
  • 2楼网友:北城痞子
  • 2021-02-07 16:39
换其他方式吧,php是www用户去访问的,可以执行shell的话,不安全
  • 3楼网友:轮獄道
  • 2021-02-07 16:24
你这个问题,也是我一直想知道的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯