如何从 raspberry Pi 上的 html 页面 运行 shell 脚本

How to run a shell script from a html page on raspberry Pi

我想在我的 raspberry Pi 上托管的网页上设置一个按钮,通过脚本关闭 QNAP。

当我从 pi 命令行 运行 脚本运行时。我已经测试过了。我还可以看到 html 页面正在运行,当我单击按钮时,密钥被添加到 url。

当我在网页上按下按钮时,脚本没有运行。

该网页使用 NGINX 托管。这是我的 NGINX.config

http {
    server {
        listen <myip>:80;
        root /var/www/control;
        index index.html;

        server_name <myWebAddress> www.<myWebAddress>;

        location / {
            try_files $uri $uri/ =404;
        }
    }
}

这是我的 index.html 页面

<!DOCTYPE html>
<html style="font-size: 16px;">
  <head>
    <title>Home</title>
   </head>
  <body>
  <header>
  
 <?php
if ($_GET['poweroffqnap']) {
  exec("/etc/control/scripts/poweroffqnap.sh");
}
?>
  <h1>control</h1>
    </header>
    <section>
    <div>
        <a href="?poweroffqnap=true">shutdown QNAP</a>
      </div>
    </section>
  </body>
</html>

所有文件夹和脚本都是 755 并且归 root

所有

我 运行 'ps aux' 并查看以下内容:

root     28221  0.0  0.1  49472  1172 ?        Ss   13:46   0:00 nginx: master process /usr/sbin/nginx -g daemon on; mas
www-data 28222  0.0  0.3  49628  3372 ?        S    13:46   0:00 nginx: worker process
www-data 28223  0.0  0.2  49628  2616 ?        S    13:46   0:00 nginx: worker process
www-data 28224  0.0  0.2  49628  2616 ?        S    13:46   0:00 nginx: worker process
www-data 28225  0.0  0.2  49628  2616 ?        S    13:46   0:00 nginx: worker process

我认为这可能与 www-data 的用户权限有关。我不确定如何进行进一步的故障排除。我知道如何为用户添加权限。

我的代码是否正确,如何检查我们运行网页的用户,以确定用户是否无法执行脚本?

This is my index.html page

不应该是index.php ...