NEWS
[offen] root Rechte für exec()
-
Hi Ruhr70,
man(n) baut für Katastrophen vor…

Oh je, der Sturm hat Dich ja ganz schön erwischt.
Ich danke Dir jedenfalls für die ausführlichen Erklärungen und Deine Geduld! `
Ich kann das erstmal nur als Prototyp bauen. Das Password für Root muss ich aus diesem Grund erstmal deklarieren als Variable und fest einbinden, da wohl kaum jemand hier seine Passwörter rotiert, jede paar Stunden diese ändert, und über einen Web Service abruft und nach Gebrauch, Rückgabe, Erledigung einer Aufgabe wieder rotiert. :)…... Bluefox killt mich ohnehin da ich Exec verwende

Wo am Ende das Password hinterlegt wird, das darfst Du selbst festlegen.....
In Linux sind einige Aufgaben nur mit Root Rechten ausführbar... z.b Port 80 einstellen.... alle Ports unter 1024 geht nur mit Root, auf eine Hardwareschnitte zugreifen zur Laufzeit geht auch nur mit Root Rechten usw usw....
Expect ist StdIn and StdOut - Shit in and Shit Out.. bei Dir also Ubuntu.... hab mit grad ein Image gebaut...
Equilora
-
@equilora:In Linux sind einige Aufgaben nur mit Root Rechten ausführbar… z.b Port 80 einstellen.... alle Ports unter 1024 geht nur mit Root, auf eine Hardwareschnitte zugreifen zur Laufzeit geht auch nur mit Root Rechten usw usw....
Expect ist StdIn and StdOut - Shit in and Shit Out.. bei Dir also Ubuntu.... hab mit grad ein Image gebaut...
Equilora `
Machst Du das eigentlich beruflich oder warum bist Du da so tief drin?
-
Ist das mittlerweile gelöst?
Ich würde ebenfalls in einem exec gerne sudo machen auf einen anderen user, damit scp funktioniert.ciao
frank -
@lost-in-translation Wenn du eine halbwegs aktuelle Installation hast, musst du dem User
iobrokererlauben, sich als der andere User anzumelden.Dazu legst du am besten in
/etc/sudoers.deine Datei ab, z.B.iobroker-scpoder so. Darin definierst du, dassiobrokerein bestimmtes Kommando als ein anderer User ausführen darf. Ich nenne diesen User hier malfrank:iobroker ALL=(frank) NOPASSWD: /pfad/zu/scpDen vollständigen Pfad zur
scpbinary findest du perwhich scp.Zum Erstellen der Datei am besten
visudoverwenden, weil da gleich eine Prüfung auf Syntaxfehler ausgeführt wird, die im schlimmsten Fall zu nicht-Funktionieren vonsudoführen. Mehr Details hier:
https://kofler.info/sudo-ohne-passwort/Ich empfehle, sonst nichts zu ändern. Die Berechtigungen sind extra so gewählt, dass das System möglichst sicher im Umgang mit root-Rechten ist.
-
Hallo,
ich habe auch (wieder) ein Problem mit den Rechten meiner Installation.
Es lief ca. 6 Monate, und jetzt seit 2 Monaten läuft es nicht mehr.
Ob es mit einem Update zusammenhängt oder andere Ursachen hat kann ich jetzt nicht mehr sagen.
Mir ist es erst jetzt aufgefallen.Wenn jemand bei mir klingelt kopiere ich Snapshots der Kamera auf ein NAS.
mit dem Befehlcp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/2019.08.06_14.19.11/Dieser wird wohl auch immer noch abgesetzt, aber nicht mehr korrekt umgesetzt. Denn die Fotos liegen zwar im iobroker, aber nicht auf dem NAS. (Die letzten wurden eben vor 2 Monaten raus kopiert)
Wenn ich den Befehl im putty eingebe (angemeldet als root), funktioniert es.
In der sudoers.d habe ich folgende Anpassung gemacht:iobroker ALL=(ALL) NOPASSWD: /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Das scheint aber nicht auszureichen. Es funktioniert trotzdem nicht.
Was kann ich noch tun?
-
Hat denn der User "iobroker" überhaupt Schreibrechte auf deinem NAS?
-
@aleks-83 sagte in [offen] root Rechte für exec():
In der sudoers.d habe ich folgende Anpassung gemacht:
iobroker ALL=(ALL) NOPASSWD: /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/In der
sudoers.dmusst du Befehle angeben, nicht Ordnerpfade. Überprüfe mal, was @SBorg gefragt hat.iobrokerbzw. ein User mit der gleichen UID benötigt Schreibzugriff aufs NAS. -
Der user "iobroker" ist im WebInterface der Synology mit Schreibrechten in dem Verzeichnis angelegt.
ist dieser user dann nur für das WebInterface oder ist ein kompletter "Linux-User"?in der /etc/passwd steht der user folgendermaßen drin.
Hat es damit überhaupt was zu tun?
iobroker:x:1028:100:iobroker:/var/services/homes/iobroker:/bin/shWenn ich mich als root per putty am iobroker anmelde und den cp Befehl ausführe geht es ja.
Über welchen user läuft das denn dann am NAS?Als "iobroker" kann ich mich per putty nicht am iobroker anmelden. Das Fenster schließt immer sofort wieder wenn ich das pw eingegeben habe. Ist das normal?
-
@aleks-83 sagte in [offen] root Rechte für exec():
Als "iobroker" kann ich mich per putty nicht am iobroker anmelden. Das Fenster schließt immer sofort wieder wenn ich das pw eingegeben habe. Ist das normal?
Der User
iobrokerhat keine Anmeldeshell, das ist normal. Du brauchst auf dem NAS einen User, der die gleiche UID hat wie der Useriobrokermit dem ioBroker ausgeführt wird - zu ermitteln mitid -u iobroker. Dieser User benötigt Schreibrechte.
Skripte etc werden nämlich als Useriobrokerausgeführt und haben damit nur dessen Berechtigungen. -
OK, danke.
Die UIDs sind auf beiden Seiten gleich (1028)
-
Versuche doch mal was er da als Fehler ausgibt:
sudo -u iobroker cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/2019.08.06_14.19.11/ -
root@ioBroker:~# sudo -u iobroker cp -r /opt/iobroker/iobroker-data/files/vis.0/main/snapshots/Set1/ /mnt/DS112/FOTO/Besucherfotos/2019/ cp: auf '/mnt/DS112/FOTO/Besucherfotos/2019/' konnte nicht zugegriffen werden: Keine BerechtigungDie Rechte im gemounteten Verzeichnis sehen so aus:
root@ioBroker:~# ls -ldh /mnt/DS112/FOTO/Besucherfotos/ drwx------ 9 nobody users 4,0K Jun 19 09:16 /mnt/DS112/FOTO/Besucherfotos/ -
@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 deniedWenn 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 -lain 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 BesucherfotosHabe 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