NEWS
Änderungen iob CLI/Installer/Fixer mit Root Accounts
-
@thomas-braun sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
@shadowhunter23 sagte in Änderungen iob CLI/Installer/Fixer mit Root Accounts:
Blöde Frage vielleicht, aber müsste man dann nicht prüfen ob polkitd installiert ist?
Ist es i.d.R. auf vollständigen Installationen. Muss man mal schauen, ob das bei allen LXCs nicht vorhanden ist..
Hab auch einen LXC mit Ubuntu, bei mir ist es installiert und die Authentifizierung bei iob fix funktioniert auch.
proxmox@ioB-Prod-Testsystem:~$ apt policy polkitd polkitd: Installed: 0.105-33 Candidate: 0.105-33 Version table: *** 0.105-33 500 500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages 100 /var/lib/dpkg/status@feuersturm
Ist aber Ubuntu und kein Debian, nur ein kleiner Unterschied :innocent:
Keine Ahnung, ist mir jedenfalls nie aufgefallen. Muss ich einfach in meine Installation Routine aufnehmen und das Problem ist behoben. -
@feuersturm
Ist aber Ubuntu und kein Debian, nur ein kleiner Unterschied :innocent:
Keine Ahnung, ist mir jedenfalls nie aufgefallen. Muss ich einfach in meine Installation Routine aufnehmen und das Problem ist behoben.Meine ganzen Debianse haben das aber natürlich auch an Bord. Sind aber alles keine LXCs.
-
Meine ganzen Debianse haben das aber natürlich auch an Bord. Sind aber alles keine LXCs.
@thomas-braun
Ich werde Ende kommender Woche mein PC komplett neu installieren. Sollte polkitd fehlen melden ich mich nochmals. -
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 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.
-
@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