Seite 1 von 1

Rechte für executeCommandLine

Verfasst: 30. Sep 2018 16:19
von kevinq
Hallo,
ich verstehe gerade die Rechte im Bezug auf die Funktion executeCommandLine() nicht. Es soll ein bash script ausgeführt werden, in dem per curl eine Datei heruntergeladen wird.
Wenn ich als openhab user eine bash shell starte (sudo -u openhab bash), funktioniert es ohne Probleme. Lasse ich das script jedoch durch eine openhab regel ausführen, erhalte ich von CURL folgenden Fehler:
curl: (23) Failed writing body (0 != 8192)
Warning: Failed to create the file
Warning: Keine Berechtigung


Ich habe überall absolute Pfade benutzt.
Wo könnten noch Rechte fehlen? Warum verhält sich openhab anders als der per su simulierte Nutzer?

Re: Rechte für executeCommandLine

Verfasst: 30. Sep 2018 19:35
von udo1toni
Die Frage ist ja, was Du nun genau tust. openHAB läuft default unter dem User openhab, soweit ist das schon richtig. Allerdings hat der User openhab per default keine Shell, so dass man z.B. immer den kompletten Pfad zum auszuführenden Befehl angeben sollte.

Re: Rechte für executeCommandLine

Verfasst: 30. Sep 2018 19:43
von kevinq
Ich lade per curl ein Bild herunter. Der befehl dazu steht in einer .sh datei.
Der Pfad unter dem curl speichern soll ist absolut, und curl gibt mir den Fehler das es dort die Datei nicht erstellen kann. Probiere ich es manuell funktioniert es jedoch.