RasPi - shutdown via php

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi

    Ich habe auf meinem RasPi Apache2 und PHP installiert. Ich bin gerade dabei eine Weboberfläche zu erstellen, in dem man den RasPi steuern kann.
    Ich komme mit den normalen Befehlen (ohne sudo) schon ganz gut klar. Bedeutet die funktionieren (fast) zu meiner Zufriedenheit.
    Mein Problem sind die "sudo"-Befehle.
    Im speziellen geht es hier um die Befehle "date --set" und "shutdown" (Herunterfahren und Reboot).

    Hab es bisher mit den Funktionen exec bzw. shell_exec versucht, bisher aber ohne erfolg.
    Bisheriger Aufruf:

    Code
    exec("sudo shutdown -r -now");


    Das ganze halt äquivalent für die anderen Befehle.

    Kann mir hier jemand helfen, wie ich die Befehle ausführen kann?

  • Der Nutzer www-data unter dem der Webserver normalerweise läuft hat keine Rechte sudo zu benutzen.
    Entweder Du änderst das mit passenden Einträgen in der /etc/sudoers oder Du setzt bei den Befehlen das Suid-Bit und läßt den ganzen sudo-Kram weg.

  • Danke schon mal für die Antwort, jetzt meine nächste Frage:

    Wie setze ich diese "[font="Tahoma, Verdana, Arial, sans-serif"]Suid-Bit"?[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Hör davon gerade das erste mal.[/font]

  • Das SetUserID-Bit sorgt dafür, daß eine Datei nicht mit den Rechten des Benutzers gestartet wird, der sie aufruft sondern mit den Rechten des Benutzers der als Besitzer eingetragen ist.

    sudo chmod u+s Datei

    In den exec-Aufruf wird dann die Datei mit vollständigem absoluten Pfad eingetragen.
    z.B. exec("/sbin/shutdown -r -now")
    oder exec("/bin/date");

  • Hallo Zusammen,

    wollte mich zu diesem Thema einklinken :)
    Bin seit ein paar Tagen stolzer Besitzer zweier Pi's :D und habe auch schon meine ersten Erfolge erzielt. Habe einen OScam Server kompiliert und läuft, als Web-Server habe ich den lighttpd mit PHP laufen. PHP funktioniert, da ich mit shell_exec über curl eine XML Seite abrufe.
    Habe nun eine PHP Datei (shutdown.php) mit folgendem Inhalt:


    Das Suid-Bit habe ich für shutdown gesetzt, kann shutdown als "pi" ohne sudo ausführen. Aber über den Aufruf der PHP Seite will das nicht. Hat wer einen Tipp für mich, wo ich falsch liege?!

    Viele Grüße
    steinche

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!