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?
Rechte für executeCommandLine
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rechte für executeCommandLine
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
-
- Beiträge: 4
- Registriert: 7. Jan 2018 11:24
Re: Rechte für executeCommandLine
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.
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.