授予 www-data 用户运行本地脚本的权限

授予 www-data 用户运行本地脚本的权限

我实际上尝试使用 PHP 脚本启动 gnome 终端,但似乎用户遇到了一些问题www-data

我的脚本仅ls -l在目录中发出命令(仅用于测试)并且我使用本地网站上的 php 页面运行它。

这是我的 bash 脚本中的 gnome-terminal 命令(双击时它可以完美运行):

gnome-terminal --working-directory=/opt/cuckoo -x bash -c "ls -l"

以下是 php 页面上的调用:

system("/my/path/to/the/script/script.sh");

我的脚本中有一些“回声”,当我尝试在网站上运行该脚本后,我在 PHP 页面中看到了它。

我认为www-data没有权限,因此我尝试使用命令授予用户脚本的所有权,但chown没有结果,最后我尝试了该sudo visudo命令并www-data仅为该脚本授予了 root 权限(带有NO PASSWDarg)。

没用。我尝试更改 php 命令,将其替换systemexec,然后使用 显示结果,$output但结果还是一样。

PHP 真的可以运行终端吗?或者我只是自欺欺人?

答案1

你必须考虑的事情

  1. 如果你想要ls一个目录,“who”运行该命令就可以横穿该文件夹(因此,+x 权限是绝对必要的)
  2. 你的 php 脚本是否在服务器下运行?如果是,也许你必须更改所有者以同意这一点
  3. 取决于第二点:请注意当你chown在文件上

相关内容