Bash Script mit SCP über PHP

  • Hallo meine Damen und Herren,

    ich stehe zur Zeit vor einem Problem.

    Ich habe einen Apache Webserver auf dem Raspberry laufen. Im Ordner var/www sind alle entsprechenden PHP-Datein abgelegt. Eines dieser Dateien steuert über shell_exec(sudo home/pi/dateiname.sh) mein Shell-Script an. In diesem Script soll unter anderem (via SCP) eine Datei von meinem Raspberry (auch PI Ordner) auf meinen (Internet) Webserver geschoben werden.

    Wenn ich den SCP Befehlt im Terminal ausführe, funktioniert alles. Leider aber nicht wenn es über shell_exec angesteuert wird.
    Alle anderen Schritte im Bash-Script werden aber auch abgehandelt.

    Ich vermute, dass ich irgendwo noch Rechte brauche.

    Vllt.
    $ mkdir /var/www/.ssh
    $ chown apache:apache /var/www/.ssh
    $ chmod 700 /var/www/.ssh
    ?

    Ich möchte nur nicht zuviel verstellen, da ich nicht wirklich weiß welchen Einfluss das hat.
    Bin noch ein ziemlicher Neuling.

    Wäre schön, wenn mir jemand helfen könnte. Vielen Dank schon einmal!
    Schw3n

  • Hallo Schw3n,

    lies dir mal den folgenden Thread durch. Es geht dabei zwar um ein Python-Skript welches aus einem PHP-Skript aufgerufen wird, aber das zugrundeliegende Problem ist das gleiche.

    https://www.forum-raspberrypi.de/Thread-pythons…ber-php-starten

    Da du in deinem Bash-Skript nur eine Datei per SCP auf ein anderes System kopieren willst, frage ich mich ob du da wirklich mit sudo an die Sache rangehen musst. Solange es keine Systemdatei ist oder vom Benutzer www-data nicht gelesen werden kann, brauchst du eigentlich auch kein sudo. Des Weitern solltest du das Bash-Skript nicht im Heimatverzeichnis von pi ablegen wenn dann ein anderer Benutzer wie www-data das Skript nutzen soll. Dafür gibt es doch /usr/local/bin und /usr/local/sbin.

    Gruß Georg

  • Hallo Georg,

    [font="Tahoma"]Warum die Datei nicht im Heimatverzeichnis von pi ablegen werden sollte, wenn ein anderer Benutzer wie www-data das Skript nutzen soll, verstehe ich noch nicht ganz. Damit habe ich mich aber auch noch nicht weiter beschäftigt. Das werde ich driekt im Anschluss aber machen. Zunächst würde ich dies einmal zurück stellen und auf den Shebang eingehen.[/font]

    [font="Tahoma"]Mein Script beginnt mit #! bin/bash. Ist das nicht der Shebang für die Bash?[/font]
    [font="Tahoma"]In meinem Script wird ein Foto mit gphoto2 geschossen, dann soll es auf meine Webseite geschoben werden. Und anschließend bekomme ich eine EMail mit dem Hinweis, dass ein neues Foto entstanden ist.[/font]
    [font="Tahoma"]So kann ich quasi über ein Web-Interface immer dann Klicken wenn ein Foto geschossen werden soll. [/font]

    [font="Tahoma"]Der Teil mit dem Foto schießen und das senden der E-mail geht mit exec_shell, lediglich am SCP hängt es.[/font]
    [font="Tahoma"]Die Berechtigung (noch auf den PI) "www-data ALL=(ALL) NOPASSWD: /home/pi/test.sh" habe ich auch gegeben. Ich hoffe ich habe deinen Beitrag nicht falsch verstanden.[/font]

    [font="Tahoma"]Gruss Schw3n[/font]

Jetzt mitmachen!

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