Rechte für executeCommandLine

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
kevinq
Beiträge: 4
Registriert: 7. Jan 2018 11:24
Answers: 0

Rechte für executeCommandLine

Beitrag 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?

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Rechte für executeCommandLine

Beitrag 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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

kevinq
Beiträge: 4
Registriert: 7. Jan 2018 11:24
Answers: 0

Re: Rechte für executeCommandLine

Beitrag 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.

Antworten