php操作系统与sudo在CentOS上失败

时间:2014-09-23 11:56:51

标签: php linux apache shell sudo

我正在运行CentOS 6,因为httpd是以用户'apache'执行的。出于安全原因,我想使用sudo作为用户'aq':

通过exec执行
<?php exec("/usr/bin/sudo -u aq somescript.sh",$output,$return_val);?>

使用visudo,我添加了以下行:

apache ALL = (aq) NOPASSWD: ALL

此外我暂时将apache作为登录shell(/ bin / bash),以便能够测试

/usr/bin/sudo -u aq somescript.sh

直接起作用。

php exec失败,因为如果调用sudo,$ return_val会传递'1'。

1 个答案:

答案 0 :(得分:2)

从/ etc / sudoers注释掉这一行

  

默认值requiretty

我以很少的方式测试了你的案例,这个让我成功。