NEWS
[offen] root Rechte für exec()
-
@aleks-83 sagte in [offen] root Rechte für exec():
Keine Berechtigung
Jo, ist wohl ziemlich eindeutig
Das Verzeichnis hat auch nur "rwx", also kann nur "nobody" schreiben/lesen/ausführen. Da stimmt etwas mit den Einstellungen der Berechtigungen (User und/oder [Unter-]Verzeichnis) deines NAS nicht. -
Offenbar...
Der user iobroker auf dem NAS hat iwie keinen Zugriff mehr auf die Ordnerebene
iobroker@DS112Plus:~$ ls -ldh /DS112/FOTO/Besucherfotos/ ls: cannot access /DS112/FOTO/Besucherfotos/: No such file or directory iobroker@DS112Plus:~$ cd /DS112/ -sh: cd: /DS112/: No such file or directory iobroker@DS112Plus:~$ dir total 20 drwxr-xr-x 5 iobroker users 4096 Aug 7 08:20 . drwxrwxrwx 10 root root 4096 Jul 29 16:06 .. drwxr-xr-x 3 iobroker users 4096 Aug 7 08:20 CloudStation drwx------ 2 iobroker users 4096 May 16 00:00 .Maildir drwxr-xr-x 2 iobroker users 4096 Mar 15 13:17 www iobroker@DS112Plus:~$
habe es mal per FTP getestet. Per iobroker angemeldet habe ich Zugriff bis auf die Ebene /DS112/FOTO/Besucherfotos/ tiefer rein darf ich aber nicht.
-
Ich bin bisher nicht weiter gekommen.
Hat noch jemand eine Idee?Per FTP als user "iobroker" komme ich bis ins Verzeichnis /DS112/FOTO/Besucherfotos/ in das 2019 komme ich dann nicht mehr. Ich bekomme ich die Meldung
Permission denied. Error code: 3 Error message from server: Permission denied
Wenn ich per SSH versuche in die Verzeichnisse zu schauen erhalte ich schon bei Besucherfotos die Meldung:
iobroker@DS112Plus:/volume1/DS112/FOTO$ cd Besucherfotos/ -sh: cd: Besucherfotos/: Permission denied
-
@aleks-83 sagte in [offen] root Rechte für exec():
Permission denied
Was sagt
ls -la
in diesem Ordner? -
@AlCalzone sagte in [offen] root Rechte für exec():
@aleks-83 Bitte die vollständige Ausgabe posten, nicht beschreiben
iobroker@DS112Plus:/volume1/DS112/FOTO$ ls -la total 1608 drwxrwxrwx 37 admin users 4096 Jun 19 09:11 . drwxrwxrwx 15 root root 4096 Mar 29 12:31 .. drwxrwxrwx 14 admin users 4096 Apr 28 19:02 2018 drwxrwxrwx 7 admin users 4096 Jun 20 15:30 2019 drwx------ 9 admin users 4096 Jun 19 09:16 Besucherfotos
Habe ein paar Zeilen zwischen drin weg genommen.
-
@aleks-83 Bitte die vollständige Ausgabe posten, nicht beschreiben
-
Habe meinen alten post editiert...
Aber jetzt habe ich in der NAS Oberfläche nachgesehen.
Dort hatte der gesamte Ordner nicht genug Berechtigungen.
Nur der Besitzer durfte Lesen, Schreiben, Löschen.
Habs geändert. und es geht !Ich dachte eigentlich dass ich den Ordner per SSH mit dem user iobroker erstellt hatte, aber dem war wohl nicht so.
Danke für eure Hilfe ! -
@aleks-83 sagte in [offen] root Rechte für exec():
Aber jetzt habe ich in der NAS Oberfläche nachgesehen.
Du hättest es auch hier gesehen:
drwx------ 9 >>admin<< users 4096 Jun 19 09:16 Besucherfotos
-
Wie läuft das denn mit root und exec per blockly unter windows?
-
@aleks-83 Root gibt's auf Windows nicht. Daher auch kein sudo und das dazugehörige Geklüngel.
-
@alcalzone
Also unter Windows auch kein exec()?
Weil meine exec Befehle funktionieren nicht. (Siehe oben verlinkten Thread) -
@aleks-83 Was ist denn der Fehler? Wenn ein exec nicht geht, sollte der zumindest im Callback ankommen.
-
@alcalzone
Wenn ich "iobroker restart sonos.0" in der Konsole direkt unter Windows eingebe, funktioniert der Befehl.Wenn ich ihn per Javascript (Blockly Script) ausführen lasse, nicht.
javascript.0 2021-03-04 11:05:34.367 warn (6216) script.js.Xiaomi.SonosDurchBWMschalten: exec: iobroker restart sonos.0 javascript.0 2021-03-04 11:05:34.416 warn (6216) script.js.Xiaomi.SonosDurchBWMschalten: *** Error. Please start the ioBroker commandline with the correct Windows startmenu shortcut. Aborting...
-
@aleks-83 Das Detail, dass du
iobroker
-Befehle ausführen willst, hattest du bisher verschwiegen.ioBroker hat unter Windows eine eigene Kommandozeile mit eigenem Environment. Bei mir lautet der Startbefehl für die Kommandozeile so:
C:\WINDOWS\system32\cmd.exe /K "C:\Program Files\iobroker\Dev\nodejs\nodevars.bat"
Um darin was auszuführen, müsste der wie folgt abgewandelt werden (Pfad anpassen!):
C:\WINDOWS\system32\cmd.exe /K "C:\Program Files\iobroker\Dev\nodejs\nodevars.bat && iobroker restart sonos.0"
Vermutlich ist es einfacher, wenn du stattdessen das Objektsystem.adapter.sonos.0
liest und direkt wieder schreibst, damit wir der Adapter auch neu gestartet.
Edit, siehe dein anderer Thread:
Setzesystem.adapter.sonos.0.alive
auffalse
und dann wieder auftrue
. Dann startet der Adapter auch neu.