NEWS
Änderungen iob CLI/Installer/Fixer mit Root Accounts
-
@apollon77 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Nur in Docker bleibt alles beim alten weil dort ist Root quasi Standard
auch bei docker stellen viele profi images auch im container auf eigene userid/groupid um. allerdings, wenn dann die uid/gid nicht mit der außenwelt übereinstimmt, gibt es probleme mit den nach außen gemappten volumes.
@oliverio sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
auch bei docker stellen viele profi images auch im container auf eigene userid/groupid um.
So sollte es ja auch sein.
-
@oliverio sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
auch bei docker stellen viele profi images auch im container auf eigene userid/groupid um.
So sollte es ja auch sein.
@thomas-braun
das wollte ich damit ausdrücken.
du hast halt bei nutzern größeres problempotential,
aber geringeren sicherheitsvorteil, da der root/user im container eigentlich nicht ausbrechen kann -
@thomas-braun
das wollte ich damit ausdrücken.
du hast halt bei nutzern größeres problempotential,
aber geringeren sicherheitsvorteil, da der root/user im container eigentlich nicht ausbrechen kannKann man so oder so sehen. Ist aber auch eher ein Thema für die Docker-Variante des Installers/Fixers. Hier geht's ja primär um native/LXC Installationen.
Der Docker wurde ja bewusst außen vor gelassen. -
Moin, habe 5 LXC mit Debian 12 und in keinem ist polkitd dabei, also nachinstallieren beim iob lxc.
Einfach apt install polkitd eingeben oder ist sonst noch was zu beachten? -
Moin, habe 5 LXC mit Debian 12 und in keinem ist polkitd dabei, also nachinstallieren beim iob lxc.
Einfach apt install polkitd eingeben oder ist sonst noch was zu beachten?Das könnte mit priviledged/unpriviledged setup zusammenhängen.
Wie sind die LXCs aufgesetzt? -
Das könnte mit priviledged/unpriviledged setup zusammenhängen.
Wie sind die LXCs aufgesetzt?@thomas-braun
sind alle unpriviledget -
@thomas-braun
sind alle unpriviledgetDann könnte es Sinn ergeben, das die ohne PolicyKit aufgesetzt wurden.
-
Dann könnte es Sinn ergeben, das die ohne PolicyKit aufgesetzt wurden.
@thomas-braun Interessant dennoch warum es bisher nie isues gab ... einziger Unetrschied ist das wir es jetzt runterladen und es vorher direkt ausgeführt wurde
-
@thomas-braun Interessant dennoch warum es bisher nie isues gab ... einziger Unetrschied ist das wir es jetzt runterladen und es vorher direkt ausgeführt wurde
@apollon77
Richtig.
Und deswegen kippt man ja auch eigentlich nie ein Skript ohne Möglichkeit sich das zuvor anschauen zu können in eine shell rein.Ja, ist unbequem und 'security sucks'.
-
@apollon77
Richtig.
Und deswegen kippt man ja auch eigentlich nie ein Skript ohne Möglichkeit sich das zuvor anschauen zu können in eine shell rein.Ja, ist unbequem und 'security sucks'.
@thomas-braun Jetzt wirds offtopic ... schaut sich doch eh keiner an ... aber das ist eine andere Baustelle.
Ich wollte nur darauf hinaus das das die einzige change ist. Kann der dieses andere Verhalten auslösen? -
@thomas-braun Jetzt wirds offtopic ... schaut sich doch eh keiner an ... aber das ist eine andere Baustelle.
Ich wollte nur darauf hinaus das das die einzige change ist. Kann der dieses andere Verhalten auslösen?@apollon77 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Ich wollte nur darauf hinaus das das die einzige change ist. Kann der dieses andere Verhalten auslösen?
Vermutlich. Aber dazu kenne ich LXCs zu wenig. Bei nativen Installationen, die direkt schon mit einem user angelegt werden ist polkit natürlich dabei, weil die user-Rechte z.T. dann darüber erweitert werden.
-
@apollon77 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Ich wollte nur darauf hinaus das das die einzige change ist. Kann der dieses andere Verhalten auslösen?
Vermutlich. Aber dazu kenne ich LXCs zu wenig. Bei nativen Installationen, die direkt schon mit einem user angelegt werden ist polkit natürlich dabei, weil die user-Rechte z.T. dann darüber erweitert werden.
Ev. kann man in einer zukünftigen Version (nicht ppriorn!) die Info dass polkitd ggF nachzuinstallieren ist direkt ausgeben wenn pkttyagent nicht gefunden wird? Oder alternativ bei Fehlern im Script auf diesen Topiv bzw. die FAQ im Speziellen verlinken? Letzteres wäre dann ja für alle potenziellen Fehler eine Hilfe.
Ich gehe davon aus dass in 4 Wochen der durchschnittliche User dieses Topic nicht (mehr) kennt und mit der Fehlermeldung wenig anfangen kann.
-
Ev. kann man in einer zukünftigen Version (nicht ppriorn!) die Info dass polkitd ggF nachzuinstallieren ist direkt ausgeben wenn pkttyagent nicht gefunden wird? Oder alternativ bei Fehlern im Script auf diesen Topiv bzw. die FAQ im Speziellen verlinken? Letzteres wäre dann ja für alle potenziellen Fehler eine Hilfe.
Ich gehe davon aus dass in 4 Wochen der durchschnittliche User dieses Topic nicht (mehr) kennt und mit der Fehlermeldung wenig anfangen kann.
@mcm1957 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Ev. kann man in einer zukünftigen Version (nicht ppriorn!) die Info dass polkitd ggF nachzuinstallieren ist direkt ausgeben wenn pkttyagent nicht gefunden wird?
Kann man natürlich. Man könnte auch polkitd mit in die Liste der benötigten Pakete nehmen und so dem System 'unterjubeln'. Generell bin ich aber nicht so begeistert davon solche sehr systemnahen Programme durch die kalte Küche einfach draufzuknallen.
-
@mcm1957 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Ev. kann man in einer zukünftigen Version (nicht ppriorn!) die Info dass polkitd ggF nachzuinstallieren ist direkt ausgeben wenn pkttyagent nicht gefunden wird?
Kann man natürlich. Man könnte auch polkitd mit in die Liste der benötigten Pakete nehmen und so dem System 'unterjubeln'. Generell bin ich aber nicht so begeistert davon solche sehr systemnahen Programme durch die kalte Küche einfach draufzuknallen.
@thomas-braun
Ich hab nichts von unterjubeln / draufknallen geschrieben. Ich bin da bei dir dass so systemnahe Sachen nicht einfach mal ohne Useraction installiert werden sollten.Mir gings nur um die Hilfe für User die nichts mit der Fehlermeldung anfangen können. Am Einfachsten wäre es im Script wohl zu erkennen ob ein Fehler auftritt und dann auf die FAQ zu verweisen. Vor allem kann man dort binnen Minuten was ergänzen / korrigieren. Ev. reicht es auch gar nicht zu versuchen Fehler zur Laufzeit zu erkennen sondern fix am Ende (damit der User etwas siehet) zu schreiben:
"Bei unklaren Fehlermeldungen oder Fragen bitte die FAQ .... durchlesen" oder so was.
Primäre gehts ir darum, dass der User den Link zur FAQ bekommt. (Ich weiß auch nicht ob ich ihn in 1 Jahr noch weiß bzw über die Forums-Suche finde. Ich such mittlerweile immer mit google in de Form "[Fragestellung] --site:forum.iobroker.net". Ist hier aber OT)
-
@thomas-braun
Ich hab nichts von unterjubeln / draufknallen geschrieben. Ich bin da bei dir dass so systemnahe Sachen nicht einfach mal ohne Useraction installiert werden sollten.Mir gings nur um die Hilfe für User die nichts mit der Fehlermeldung anfangen können. Am Einfachsten wäre es im Script wohl zu erkennen ob ein Fehler auftritt und dann auf die FAQ zu verweisen. Vor allem kann man dort binnen Minuten was ergänzen / korrigieren. Ev. reicht es auch gar nicht zu versuchen Fehler zur Laufzeit zu erkennen sondern fix am Ende (damit der User etwas siehet) zu schreiben:
"Bei unklaren Fehlermeldungen oder Fragen bitte die FAQ .... durchlesen" oder so was.
Primäre gehts ir darum, dass der User den Link zur FAQ bekommt. (Ich weiß auch nicht ob ich ihn in 1 Jahr noch weiß bzw über die Forums-Suche finde. Ich such mittlerweile immer mit google in de Form "[Fragestellung] --site:forum.iobroker.net". Ist hier aber OT)
Man müsste erst mal eingrenzen, welche Installationen überhaupt betroffen sind. polkitd ist nämlich erst seit Debian 12 'Bookworm' an Bord. Ich vermute im Zusammenhang mit aktuellem systemd.
https://packages.debian.org/search?suite=all&searchon=names&keywords=polkitd
-
Moin,
oben steht ja in der Beschreibung, dass der Fixer, wenn mit root läuft, anbietet, einen neuen User anzulegen. Mein iobroker läuft in einem LXC und kennt nur root. polkitd war auch nicht installiert. Das habe ich nachgeholt.
Nun bekomme ich folgende Meldung. Ist das aktuell so gewollt? Dann lege ich den User manuell an.root@iobroker:/# iob fix ***For security reasons ioBroker should not be run or administrated as root.*** By default only a user that is member of iobroker group can execute ioBroker commands. Please read the Documentation on how to set up such a user, if not done yet. Only in very special cases you can run iobroker commands by adding the --allow-root option at the end of the command line. Please note that this option may be disabled in the future, so please change your setup accordingly now.Okay, mit --allow-root läuft es und ich konnte die Fragen beantworten.
Danke -
Moin,
oben steht ja in der Beschreibung, dass der Fixer, wenn mit root läuft, anbietet, einen neuen User anzulegen. Mein iobroker läuft in einem LXC und kennt nur root. polkitd war auch nicht installiert. Das habe ich nachgeholt.
Nun bekomme ich folgende Meldung. Ist das aktuell so gewollt? Dann lege ich den User manuell an.root@iobroker:/# iob fix ***For security reasons ioBroker should not be run or administrated as root.*** By default only a user that is member of iobroker group can execute ioBroker commands. Please read the Documentation on how to set up such a user, if not done yet. Only in very special cases you can run iobroker commands by adding the --allow-root option at the end of the command line. Please note that this option may be disabled in the future, so please change your setup accordingly now.Okay, mit --allow-root läuft es und ich konnte die Fragen beantworten.
Danke@dlehmann sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Ist das aktuell so gewollt?
Ja, das ist so gewollt. Ein root muss bei jedem iob-Kommando die Option --allow-root anhängen.
Bis es nervt und ein user angelegt wird. -
Hallo
ich führe iobroker als Benutzer 'iobroker' aus.
Nach der Meldung im neuen iob fix, möchte ich nun einen neuen user anlegen lassen.
Leider ist das nicht erfolgreich.
Es kommen Fehlermeldungen, dass die Befehle useradd und chpasswd fehlen.Zur Info: bei mir hatte vorher auch das Paket polkitd gefehlt und ich hab es nachträglich installiert. Habe hier ein Debian 12 in einer VM unter Proxmox.
iobroker@iobroker:~$ iob fix It seems you run ioBroker as root or the iobroker user. This is not recommended. For security reasons a default user should be created. This user will be enabled to temporarily switch to root via 'sudo'. A root login is not required in most Linux Distributions. Do you want to setup a user now? (y/N) Enter the username for a new user (Not 'root' and not 'iobroker'!): iob-user Enter the password for the new user: Confirm the password for the new user: Adding new user account... /home/iobroker/.fix.sh: line 59: useradd: command not found /home/iobroker/.fix.sh: line 60: chpasswd: command not found Please login with this newly created user account and restart the fixer. -
Hi All,
wir haben in letzter Zeit intern und auch mit einigen Nutzern länger darüber diskutiert ob es gut oder schlecht ist ioBroker mit einem Root Nutzer zu betreiben und zu administrieren. Alles in allem ist wird es in der Industrie als "Best practice" angesehen den Root Nutzer nur dann zu nutzen wenn es nötig ist. Daher möchten wir Euch gern unterstützen sicherer zu arbeiten.
Wir haben uns daher entschieden, mit großer Unterstützung durch Thomas Braun (@Thomas-Braun), hier ein bisschen expliziter zu werden und die üblichen "Ausreden" warum jemand Root nutzt mit Unterstützung nicht mehr so einfach zu machen :-) Nur in Docker bleibt alles beim alten weil dort ist Root quasi Standard und normalerweise kein echter Root.
Die neueste Version des Installers/Fixers bringen daher die folgenden Neuerungen mit:
- Der Installer prüft ein paar Dinge und gibt Meldungen aus - läuft aber durch. Am Ende kommt ggf die Empfehlung "iob fix" direkt nach dem Re-Login auszuführen um die im folgenden beschriebenen Themen zu beheben.
- Zu beginn wird geprüft ob der Fixer mit Root oder einem User "iobroker" gestartet wird und wenn ja, wird angeboten einen neuen User anzulegen mit dem die Administration künftig gemacht wird. Dieser neue User kommt gleich in die relevanten Gruppen. Dann einfach mit dem User neu einloggen und den Fixer neu starten.
- Der Fixer prüft als nächstes ob das System einen Desktop hat und bietet an dies zu ändern, da in den meisten Fällen ioBroker eh auf einem Server läuft und eine Nutzeroberfläche nur unnötig Speicher frisst.Es ist auch im Zweifelsfall ein Angriffspunkt weniger falls jemand unabsichtlich ins System einbricht (z.b. durch eine nicht bedachte Port-Weiterleitung).
- Der Fixer prüft danach die eingestellte Zeitzone weil es auch hier immer mal wieder zu Effekten kommt das Zeitsteuerungen versetzt laufen wenn der Server die falsche Zeitzone hat. Man kann Sie direkt korrigieren.
All das bis eben genannte kann man, wenn man wirklich will, komplett ignorieren und mit Nein beantworten. Dann bleibt alles beim alten. Aber: Der User hat sich entschieden das zu tun und weiss hoffentlich was es bedeutet.
Um auch bestehenden Installationen zu helfen hier sicherer zu werden werden nach einem "iob fix" nach den Updates auch alle "iob" Kommandos auf eine potentielle Root-Nutzung hinweisen. Wer unbedingt so weiter arbeiten will der kann bei den "iob" Kommandos den Parameter "--allow-root" anhängen und alles wird wie bisher ausgeführt. Aber überlegt bitte wirklich ob es Root sein muss. Auch hier gilt dies nicht bei Docker.
Die meisten Distributionen heutzutage nutzen bereits standardmässig eigene User und sollten von der ganzen Thematik nicht betroffen sein. Bei LXC Containern kommt es oft vor das es standardmässig nur Root gibt. Hier kann man einen mit den hier verfügbaren Werkzeugen einfach anlegen.
Wir hoffen das wir mit der Entscheidung nicht für zu großen Unmut in der Community sorgen und Ihr diesen Schritt generell versteht. Wir haben viel Aufwand investiert um Euch den Umstieg zu einem "sauberen Setup" so einfach wie möglich zu machen. Wenn jemand wirklich mit Root weiter arbeiten will kann er dies auch mit dem Zusatzparameter.
Bei Fragen oder Diskussionen bitte hier im Thread fragen. Danke
Ingo, das ioBroker-Team (und Thomas)
@apollon77
Ist es nicht angedacht dass bei Facebook als Featured Beitrag zu posten? -
Hallo
ich führe iobroker als Benutzer 'iobroker' aus.
Nach der Meldung im neuen iob fix, möchte ich nun einen neuen user anlegen lassen.
Leider ist das nicht erfolgreich.
Es kommen Fehlermeldungen, dass die Befehle useradd und chpasswd fehlen.Zur Info: bei mir hatte vorher auch das Paket polkitd gefehlt und ich hab es nachträglich installiert. Habe hier ein Debian 12 in einer VM unter Proxmox.
iobroker@iobroker:~$ iob fix It seems you run ioBroker as root or the iobroker user. This is not recommended. For security reasons a default user should be created. This user will be enabled to temporarily switch to root via 'sudo'. A root login is not required in most Linux Distributions. Do you want to setup a user now? (y/N) Enter the username for a new user (Not 'root' and not 'iobroker'!): iob-user Enter the password for the new user: Confirm the password for the new user: Adding new user account... /home/iobroker/.fix.sh: line 59: useradd: command not found /home/iobroker/.fix.sh: line 60: chpasswd: command not found Please login with this newly created user account and restart the fixer.Und auch keine Sonderzeichen wie - in einen username.
Halt das so einfach wie möglich. Nur Kleinbuchstaben und Ziffern, das erste Zeichen sollte ein Buchstabe sein.