NEWS
Blockly EXEC führt das Script nicht aus
-
Hallo, ich habe auf einem Raspberry 4 Iobroker laufen mit NodeJs 18.15.0, NPM 9.5.0, Javascript 6.1.4 mit Komando EXEC erlauben und setObjekt erlauben am laufen. Auf einem Intel i3 habe ich unter debian11 Motioneye am laufen und möchte nun die aktuellen Bilder zum versenden per SFTP auf den Raspberry holen.
Dazu erzeuge ich ein Shript auf dem Raspberry :ftpget.sh :
#!/bin/bash
SSHPASS=XXXXXX sshpass -e sftp dejantie@192.168.178.193 <<EOF
GET /var/lib/motioneye/Camera1/2023-03-27/13-27-41_07.jpg
EXIT
EOFWenn ich das Script im Putty auf dem Raspberry mit dem User pi in dem Zielordner starte funktioniert es.
Vom Blockly mit dem EXEC Befehl funktioniert es nicht.
Der ober Teil ist die erzeugung des Scripts, das funktioniert einwandfrei, das ergebnis siehe oben.
Ich habe schon die Rechte versucht zu ändern, das Script wird unter den Benutzer iobroker angelegt und hat alle Rechte trotzdem funktioniert es nicht.
So sieht es aus wenn ich es von Hand ausführe.Kann mir da jemand einen Tip geben ? Und ja ich bin noch ziemlicher Anfänger mit IoBroker, Blockly und Linux.
-
Der iobroker darf die Befehle aus dem skript nicht ausführen, weil er bewusst in seinen Rechten beschränkt wurde.
-
@thomas-braun sagte in Blockly EXEC führt das Script nicht aus:
Der iobroker darf die Befehle aus dem skript nicht ausführen, weil er bewusst in seinen Rechten beschränkt wurde.
Hum? Verstehe ich nicht... wozu gibt es ein blockly exec, was nicht exec'en darf? Zumal der User des Prozesses (iobroker) dies doch darf?
Habe auch das Problem: Der Shellbefehl scheint bei mir schlicht nicht ausgeführt zu werden, keine Fehlermeldung, nichts.
Ist das ernsthaft die Lösung? "Ignoriere Exec"? Nunja, wenn es nicht geht, sollte es auch nicht angeboten werden und folglich aus dem Adaptercode verschwinden, oder? -
Das in den Adaptereinstellungen hast du gesehen?
Edit:
Ich gehe davon aus dass du das gesehen hast. Hätte erst nachdenken sollen...
Doofe idee.Kannst ja den user iobrokers für sudo erlauben und das ganze dann als root ausführen?Sicherheitsfanatiker gehen jetzt vermutlich die Zehennägel runter
Edit2: Ich habe die root Idee mal durchgestrichen und den Hinweis von mir dass das keine so gute Idee ist fett gemacht.
-
Richtig, da wird nicht per root herumgefuhrwerkt.
-
Ok, aneinander vorbei geredet
Mir ging es nurnn um allgemeine Nutzung von exec, ohne root Rechte.
-
@janhh sagte in Blockly EXEC führt das Script nicht aus:
Kann mir da jemand einen Tip geben ? Und ja ich bin noch ziemlicher Anfänger mit IoBroker, Blockly und Linux.
bist du sicher das die Datei geschrieben wurde bevor du das exec versuchst ?
A.
-
@asgothian Ich weiß nicht, ob q
@asgothian said in Blockly EXEC führt das Script nicht aus:
@janhh sagte in Blockly EXEC führt das Script nicht aus:
Kann mir da jemand einen Tip geben ? Und ja ich bin noch ziemlicher Anfänger mit IoBroker, Blockly und Linux.
bist du sicher das die Datei geschrieben wurde bevor du das exec versuchst ?
A.
Die Frage wurde vor 10 Monaten gestellt...
-
@martinp
Jo, mein Fehler. ICh wollte nur nicht für die exakt gleiche Überschrift ein neues aufmachen, erschien mir falsch.Habe nun aber auch den Weg zur Lösung gefunden:
Nicht das iob-log betrachten, sondern das, was im javascript editor inkludiert ist!
Dieses zeigt wirklich alles an, ohne etwas abzuschneiden.Danke euch und nichts für ungut