PHP und sudo

Wenn man Sensoren mit dem Raspberry übr eine PHP-Seite abfragen will, kommt man immer wieder in Konflikt mit den Benutzerrechten. Der Benutzer www-data, unter dem der Apache läuft und die PHP Seite somit ausgeführt wird, hat nicht genügend Rechte um die Abfrage auszuführen.

Ich zeige euch in diesem Artikel, was angepasst werden muss, damit der Benutzer www-data Sensoren abfragen kann.

Problem

Bestimmte Befehle auf der Kommandozeile lassen sich nur mit root Rechten ausführen. Dafür exisitiert der befehl sudo, mit dem ein Benutzer Befehlen mit root Rechten ausfühen kann. So ein Befehl ist zum Beispiel hostname. Mit diesem Befehl kann man den Namen des Rechners ändern. Wenn Sie den Befehl in der Konsole ausführen, wird ihnen der Name des Raspberry Pi ausgegeben. In der Regel ist das der Name raspberry. Also probieren wir mal den Befehl in einer PHP-Seite auf den Raspberry Pi auszuführen um den Rechnernamen in test zu ändern.

Wenn wir nun diese Seite im Browser aufrufen, sollte die Ausgabe raspberry raspberry sein. Der Rechnername worde also nicht geändert. Mehr Aufschluß gibt die Log Datei /var/log/apache2/error.log. Dort stehen nun ...  mehr lesen