Hallo,
ich habe folgendes Problem: ich versuche über eine Website, die auf meinem Apache-Server ist und mit PHP geschrieben wurde, ein python-skript auszuführen. Aber die shell-befehle mit sudo lassen sich nicht ausführen. Klar ist dass ich mit dem user www-data keine sudo befehle ohne passwort ausführen darf. deswegen hab ich über visudo in sudosers folgendes geschrieben:
Code
www-data ALL=(root) NOPASSWD: /var/www/LED_an.py
www-data ALL=(root) NOPASSWD: /var/www/LED_aus.py
danach neugestartet und getestet aber es funktioniert nicht. die Skripte funktionieren alle einzeln. und ich bekomme auf der Website auch die antwort auf "whoami". also funktioniert ja das grundprinzip.
könnt ihr mir jetzt helfen? vielleicht noch einen Tipp geben was ich noch versuchen könnte?
ich habe die skripte mal angehängt:
PHP
<html>
<body>
<table border ="2px" align="center">
<tr>
<td>
<a href="?id=4.1" target="_self">Anschalten</a>
</td>
</tr>
<tr>
<td>
<a href="?id=4.0" target="_self">Ausschalten</a>
</td>
</tr>
</table>
<?php
if (isset($_GET["id"])) {
$id = $_GET["id"];
if($id == "4.1") {
echo shell_exec("sudo python /var/www/LED_an.py");
echo "HI";
echo shell_exec("whoami");
} elseif ($id == "4.0") {
echo shell_exec("sudo python /var/www/LED_aus.py");
}
}
?>
</body>
</html>
Alles anzeigen
Code
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(26, GPIO.OUT)
GPIO.output(26, True)