Centos中的Apache用户权限

时间:2010-10-20 08:31:53

标签: linux apache centos shell-exec

您好我正在使用PHP脚本中的shell_exec命令:

$output = shell_exec('ls -l');
print_r($output);

终端:php test.php

这导致目录列表按预期进行。

切换到我的浏览器我没有输出。

我需要为用户'apache'授予权限,以便它可以执行某些命令,或将用户添加到具有此类权限的组。我知道如何将用户添加到组等,我只是想知道为apache用户授予此类权限的最佳实践方法是什么。

2 个答案:

答案 0 :(得分:0)

我花了一段时间才弄清楚这可能对其他人有益。

问题在于我试图在/ etc / sudoers中提供apache用户权限,而SELinux(非常正确地)否认它们。

所以我很快就禁用了SELinux的httpd,一切正常。

对于公共Web服务器而言,这远非理想情况。

至于最佳实践,应使用audit2allow来设置许可操作。

答案 1 :(得分:0)

如果在所需目录中执行ls -Z,您将看到该目录的SELinux权限。

要允许httpd / apache守护程序访问您可以执行的目录(-R选项是为了使其递归):

chcon -Rv --type=httpd_sys_content_t /desired/path

希望它有所帮助。