如何从 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
...
我想在我的 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
...