【问题标题】:Apache user privileges in CentosCentos 中的 Apache 用户权限
【发布时间】:2011-04-27 22:08:15
【问题描述】:

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

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

终端:php test.php

这会按预期生成目录列表。

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

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

【问题讨论】:

    标签: linux apache centos shell-exec


    【解决方案1】:

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

    问题是我试图在 /etc/sudoers 中授予 apache 用户权限,而 SELinux(非常正确地)拒绝了他们。

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

    尽管对于公共网络服务器来说,这远非理想情况。

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

    【讨论】:

      【解决方案2】:

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

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

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

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-16
        • 2015-07-13
        • 2013-01-03
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多