Mit PHP & Apache Shell Dateien mit sudo Befehlen ohne Root Rechte ausführen.

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

    Ich habe mir eine kleine Weboberfläche gebaut - naja Weboberfläche kann mans noch nicht nennen - , die dazu dient, ein Shell Skript auszuführen, welches dann über einen 434MHz Transmitter eine Funksteckdose mit einer Lampe entweder an- oder ausschaltet.
    Es existieren 2 Shell Skripte, ein zum aus- und das andere zum anschalten. Diiese beiden Skripte liegen in /home/***/. Die Skripte liegen in dem Verzeichnis, weil WiringPi (Tool für die GPIO Ports) und raspberry-remote (Tool zur Übertragung des Home Codes und der Steckdosennummer mit dem Transmitter) auch in meinem Home Verzeichnis liegen.
    Die PHP Dateien liegen natürlich in /var/www/.

    Jetzt habe ich ein Problem: Die Shell Skripte enthalten sudo Befehle und können deswegen nur von einem Benutzer mit root Rechten ausgeführt werden.
    Wenn ich www-data in /etc/sudoers eintrage, funktioniert das auch. Nur will ich halt nicht, dass Apache root Rechte hat, da er auch aus dem Internet erreichbar ist.

    Deshalb meine Frage: Ist es möglich, diese Skripte auszuführen, ohne dass Apache root Rechte hat? Oder ist es möglich Apache nur für die 2 Skripte Root Rechte zu geben aber nicht für den Rest?

    Ich würde mich über jede hilfreiche Antwort freuen ;)

    LG

    jkhsjdhjs

  • Mit PHP & Apache Shell Dateien mit sudo Befehlen ohne Root Rechte ausführen.? Schau mal ob du hier fündig wirst!


  • > Oder ist es möglich Apache nur für die 2 Skripte Root Rechte zu geben
    Ich bin mir nicht sicher ob es auch bei Scripts funktioniert, aber bei ELFs
    geht das mit dem setuid Bit.

    Stichwort fuer Google: setuid

    So, habe auf jeden Fall verstanden, was setuid macht. Habe dann den Befehl "sudo chmod u+s <dateipfad>" für jedes der Skripte eingegeben, wurde auch ohne Fehler angenommen. Danach habe ich www-data aus der Nutzerliste mit Root Rechten entfernt. Jedoch hat es nicht funktioniert. Habe auch probiert, den Eigentümer der zwei Skripte mit chown auf root zu setzen, obwohl ich eigentlich sowieso Root Rechte habe. Hat deswegen auch nichts verändert. Habe auch schonmal neugestartet, was aber wie zu erwarten leider auch nichts geändert hat.
    Hättet Ihr noch andere Ideen oder habe ich vielleicht was falsch gemacht?
    Und was sind eigentlich ELFs? Habe gegoogelt, bin dabei aber nur auf Elfen gestoßen :lol:

    Einmal editiert, zuletzt von jkhsjdhjs (2. September 2014 um 23:13)

Jetzt mitmachen!

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