我有一个运行的bash脚本 不需要根.

但是当我通过 shell_exec() (或者 system(), , 或者 exec()) 像这样:

return system("/home/tom/rrd/rrdtool-drawgraph.sh $interval $multiples - debug 2>&1;");

我收到以下消息:

sh:/home/tom/rrd/rrdtool-drawgraph.sh:拒绝许可

(奇怪的是,该消息是重复的。不确定这是否相关? 编辑: 当我使用backticks而不是 shell_exec. 。去搞清楚。)

我尝试使用777文件权限。我尝试将所有者和团体更改为 www-data. 。我将其输出吐出的目录更改为具有同样允许的权限。

它仍然不会运行。

我唯一能想到的是脚本在我的主目录中。如果这是问题所在,我会感到惊讶(因为我的网络根部也在我的主目录中),但是我准备纠正。如果这是问题,我可以在不需要根私有的情况下进行修复吗?

如果这与我的主目录无关,那是什么问题?我该如何解决?

有帮助吗?

解决方案

事实证明 曾是 由于脚本的位置。

我把一切都移到了 /usr/share/rrdscripts 而且效果很好。

奇怪的是,输出文件没有权限问题:脚本仍然可以写入我的主目录中的输出文件夹。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top