NEWS
Grund für 777 und Start mit root Rechten?
-
Nabend zusammen,
leider bin ich nicht wirklich fündig geworden was der Grund ist, dass ich ioBroker mit sudo starten und /opt/iobroker für Gott und die Welt zugänglich machen muss?
ioBroker muss sich doch nur in /opt/iobroker austoben (oder nicht?), warum kann es das nicht als eigener Benutzer machen, dem wiederum dann /opt/iobroker gehört?
Gruß
Fabian
-
Das hängt davon ab was Du genau für Adapter verwenden willst. Es gab dazu auch schonmal Threads im Forum.
Einige Adapter kompilieren Libraries und wollen diese im System installieren (zwave z.B.), andere Adapter nutzen die seriellen Ports. Ohne Tricks und vorbereitungen sind die Seriellen Ports für "non-Root"-user tabu.
Es gibt da Möglichkeiten, aber ich habe noch keine exakte Info gesehen was die alles lösen und was pot. noch Problematisch bleibt.
Wenn Du da Ahnung hast oder Dich reinfuchsen willst, gern (und am besten Learings Teilen). Sehr viele User machen mit ioBroker und einem Raspi Ihre ersten Linux Erfahrungen und da ist das nicht möglich zu supporten. Daher:
chmod777 und root sind die "so geht es auf jeden Fall"-Empfehlungen.
Man kann es auch anders/sicherer machen.
-
Einige Adapter kompilieren Libraries und wollen diese im System installieren (zwave z.B.), andere Adapter nutzen die seriellen Ports. ` Ah daher weht der Wind.
Ich bin über einen Bekannten an ioBroker gekommen. Bisher bin ich reiner FHEM Nutzer; aber mir gefällt das ioBroker Konzept an sich und wollte mir das ganze mal näher anschauen.
Ich sag mal "Linux kann ich", nur meine Erfahrung mit Node.js und npm halten sich derzeit in Grenzen.
Deswegen will ich den Mund auch nicht zu weit aufmachen und sage unter Vorbehalt, was mir so in den Sinn kam:
Wenn ich einen (interessante) Adapter schreibe, den in npm bekomme und davon ausgehen kann, dass meine Skripte in dem Adapter a) mit root Rechten und b) bei Benutzern installiert werden, die keine/kaum Ahnung haben… "Hello botnet, here we go!"
Es ist zwar sehr komfortabel, wenn alle folgenden Installationen von Adaptern "einfach immer funktionieren" aber ich glaube, dass das Einfordern von root Rechten bei den Adaptern liegen sollten und nicht bei der Plattform.
Vor allem weil ja, wenn ich das richtig verstehe, nur ein Teil der Adapter root-Rechte benötigt und viele auch ohne auskommen würden.
So rein ins Blaue gesprochen würde mir so ein "Dieser Adapter muss mit root-Rechten installiert werden, da [Begründung Begründung Begründung… ] OK, Abbrechen"
Ich wollte zwar eigentlich nur einen Blick ins frontend werfen aber vielleicht schau ich dann doch auch mal ins backend
-
Du hast an der Stelle grundsätzlich voll recht.
Einzelne Adapter-Installationen und Prozesse als Root auszuführen könnte man vllt irgendwie (sudo?) noch in die Backend-Abläufe reinbekommen, wenn überall alles identisch tut.
Im einfachen Fall ist momentan die aktuelle Minimalanforderung ans System das es "somehow Linux oder FreeBSD, macOS oder Windows" ist und dort nodejs und npm installiert ist in mindestens node 4. Dieser Grundansatz macht es für Adapter seeeehr aufwändig (wenn nicht sogar unmöglich) alles zu berücksichtigen um Root-Kram zu machen.
Die Idee von oben das man eine spezielle Adapter-Eigenschaft hat die den Adapter per suo installiert und später auch den Adapter-prozess per sudo (linux/MacOS) startet wäre durchaus eine Idee.
Ein bissl (indirekte) Sicherheit bringt immer noch das alles hier OpenSource ist. Aber ja die gefahr bleibt das jemand Schadcode einführt.
<schwarzmaler-modus ein="">Um ehrlich zu sein eigentlich sogar egal ob root oder nicht-root. Falls irgendjemand es schafft in eine nodejs-Lib auf npm die verwendet wird z.B einenkrypto-Schürfer reinzubringen, dann läuft der dann überall wo die Library ist (und halt installiert wurde) … ich kann glaube genügend ohne root anstellen
<schwarzmaler-modus aus=""></schwarzmaler-modus></schwarzmaler-modus>
-
Hi,
ich bin ebenfalls erst seit kurzem hier dabei und bin durch ConBee, den ZigBee-Stick von Dresden-Elektronik zu ioBroker gekommen.
Bisher finde ich Node Red wesentlich übersichtlicher, werde mein Smart Home System auf Basis von Node Red aber nun mit ioBroker ergänzen.
Da der Raspi dafür zu schwach ist, will ich auf einen Web-Server ausweichen, auf dem ioBroker aber natürlich nicht als root laufen soll.
Gibt es hier schon neue Erkenntnisse, wie sich ioBroker mit "schwachen" (kein ZigBee, kein Zwave, kein Serial Port…) Adaptern ohne root verhält? Können diese noch geupdatet werden?
Ich würde dann nämlich gerne einige Adapter auf dem Web-Server laufen lassen, die ausschließlich per mqtt mit meinem Raspi kommunizieren und auf dem Raspi nur den deConz (ConBee-(ZigBee)-Steuersoftware), sowie Dash-Button Adapter laufen lassen.
Leider ist ja jeder einzelne Adapter ein nicht nachvollziehbar großer RAM-Verschwender.
Das kling jetzt negativer als es gemeint ist. Nur hatte ich zuvor nie RAM-Probleme. Möchte aber natürlich gerne die Funktionalität und Kompatibilität von IoBroker nutzen.
Viele Grüße!
Matthias