权限:授予 Apache 更多用户权限的正确方法是什么?

Cam*_*own 5 permissions php apache-httpd

上下文:我正在制作一个浏览器内控制面板,让我可以通过一个按钮访问我为处理项目的各种数据而编写的脚本库(.sh 和 .php)。这是管理该项目数据的“一站式商店”。

我取得了很好的进步。我有 apache、PHP 和 MySQL 正在运行,我的前端位于http://localhost。目前很好!

现在我遇到的问题是:我有一个运行良好的 index.php,除了默认的 apache 用户(在我的机器上称为“_www”)似乎没有权限运行我的一些脚本。

所以当我这样做时:

<?php
    echo `ls`;
    echo `whoami`;
    echo `/Path/To/Custom/Script.sh`;
?>
Run Code Online (Sandbox Code Playgroud)

我得到lsand的输出whoami,但我从自定义脚本中没有得到任何回报。如果我像我一样运行自定义脚本(在交互式 shell 中),它当然可以工作。

最后,我的问题是:配置它的正确方法是什么。网络服务器是否像我一样运行?或者更改权限以便 _www 可以运行我的自定义脚本?

Sha*_*off 3

最好的办法是将脚本放在一个标准位置(例如/usr/local/bin),Web 服务器将有足够的权限来执行它。

如果这不是一个选项,您可以使用 更改脚本的组chgrp groupname path,然后使其对于该组可执行chmod g+x path。如果_www用户尚未位于该组中,请通过 将其添加到该组中usermod -aG groupname _www