Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Root-User im Container/Docker-> ja, nein, warum?!

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Root-User im Container/Docker-> ja, nein, warum?!

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active last edited by

      Mahlzeit,

      da es hier desöfteren zur Diskussion kommt
      wegen Root User im Container/Docker und deren
      "rumgehampel" 😉 ,
      könnte @andre vielleicht
      Licht ins Dunkel bringen, warum das so ist oder wie man das
      ändern kann/sollte.

      Und eventuell in einfachen, verständlichen Worten , dass auch Neulinge nicht abgehängt werden.

      andre 1 Reply Last reply Reply Quote 0
      • andre
        andre Developer @haselchen last edited by andre

        @haselchen Nein, könnte @andre nicht.
        Ich beteilige mich aufgrund des anhaltenden Abwärtstrends im Umgangston und des schrumpfenden Respekts hier im Forum nicht mehr an Diskussionen (so wie auch seit längerem schon nicht mehr über Facebook).
        Das hat mich in der Vergangenheit viel Zeit gekostet die ich nicht mehr bereit bin aufzubringen.

        Wer mit mir Diskutieren will und Fragen rund um Docker hat findet mich im ioBroker Discord Channel. Dort versuche ich regelmäßig jeden Mittwochabend für Diskussionen in der Lounge (Voice chat) online zu sein. Schaue aber auch an anderen Tagen regelmäßig dort vorbei.

        MfG,
        André

        haselchen 1 Reply Last reply Reply Quote 1
        • haselchen
          haselchen Most Active @andre last edited by haselchen

          @andre

          Das ist natürlich aus meiner Sicht (Fragesteller) eine enttäuschende,
          aus Deiner Sicht , eine verständliche Antwort.
          Da Du ein nicht unwesentliches Projekt hier betreibst , ist Deine Wahrnehmung bezüglich des aktuellen "Forum-Tons" natürlich ein Alarmzeichen oder sollte es zumindest für die Mods ( @Homoran , @Negalein ...) sein.
          Ich habe hier schon vermehrt von den Developern gelesen, dass sie unzufrieden über den sprachlichen Umgang hier sind.
          Vielleicht ist ein gemeinsam verfasstes Announcement von Euch an die User ein (letztmaliger) Aufrüttler, bevor es etwaige Konsequenzen geben könnte.

          Was meine Frage angeht, da komme ich auf Dein Angebot gerne zurück.
          Vielen Dank erstmal, dass Du Dir die Zeit zu einer Erklärung genommen hast.

          OliverIO 1 Reply Last reply Reply Quote 1
          • OliverIO
            OliverIO @haselchen last edited by OliverIO

            @haselchen

            ich versuchs mal, auch wenn ich da sicherlich nicht der super experte bin.

            1.) der docker-prozess auf dem Host muss mit root laufen, da er auf ressourcen zugreift, die das bedingen.
            2) auch der eigentliche container-prozess wird ebenfalls vom docker-prozess mit root-rechten gestartet, da die betriebssystem-anteile die sich im container befinden mit root laufen müssen.
            3) wenn wir zur eigentlichen Anwendung im container kommen, dann muss diese meist tatsächlich nicht als root laufen, meist hat man allerdings die Möglichkeit einen User-ID und eine Group-ID dem container mitzugeben unter der Berechtigung dann die eigentliche Anwendung gestartet wird. Der user und die Gruppe wird vor Start dann im Container angelegt, genau so wie du auf einem richtigen System ebenfalls eine separate Gruppe/User anlegen würdest)
            4) Nach außen hin, macht sich das dadurch bemerkbar, das die volumes die man auf lokale Verzeichnisse gemappt hat, genau mit diesem User/Gruppe beschrieben werden.
            5) man sollte darauf achten, das die Gruppe/User auf dem Hostsystem ebenfalls bekannt ist bzw angelegt wurde, da man ansonsten da auch nur wieder als root drauf zugreifen kann
            6) Ansonsten definieren die meisten Container-Hersteller im Standard meist Root, geben aber meist die Möglichkeit abweichende IDs angeben zu können.
            (bei buanet: setgid/setuid, buanet definiert beides mit 1000 was meist der erste user ist, der auf einem system eingerichtet wird.)
            auch bspw nginx definiert bereits einen non root-user, dann scheint das entweder ein trend zu sein, der in letzter zeit umgesetzt wird oder ich habe zu sehr in basis images wie debian und alpine geschaut, bei dem es erst mal kein sinn mach einen user vorzugeben, da diese meist als basis-layer für eine eigene image-definition verwendet werden, in der man dann selbst einen user definieren kann. aber da geht es jetzt schon sehr in die detailtechnik von container.

            Nachtrag:
            auch im buanet container musst du nicht als root arbeiten.

            docker bietet dir die Möglichkeit einen user beim öffnen der shell mit anzugeben:

            sudo docker exec --user iobroker -it iobrokerprod /bin/bash
            

            oder in portainer

            b286c38c-7f7a-41bf-b9fd-570c6f8118ae-image.png ![0_1646764920112_84df265f-cad9-41c7-aebe-a342088a50c1-image.png](Lade 100% hoch)

            1 Reply Last reply Reply Quote 2
            • cash
              cash Most Active last edited by

              Die Frage ist ja eher: ist es relevant das man im Docker das Update des js-controllers als root macht? Bisher gab es bei Updates keine Probleme damit. Also alles gut.

              Thomas Braun 1 Reply Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @cash last edited by Thomas Braun

                @cash

                Da gilt wieder das grundlegende Prinzip, dass man nicht mit mehr Rechten als erforderlich durch das System stolpert.
                Das ist halt gängiger Standard im Umgang mit Linux und wird auch nur weil es als Container angedockt wurde nicht aufgehoben.

                1 Reply Last reply Reply Quote 1
                • OliverIO
                  OliverIO last edited by OliverIO

                  @cash
                  ich würde sagen, da gilt das gleiche wie auf einem normalen system.
                  also am besten immer mit user
                  Die Applikation weiß ja eigentlich nicht das sie sich in einem container befindet
                  und die rechte-mechanismen (sudo und so) funktionieren da genau gleich wie überall.

                  AlCalzone 1 Reply Last reply Reply Quote 1
                  • AlCalzone
                    AlCalzone Developer @OliverIO last edited by

                    @oliverio sagte in Root-User im Container/Docker-> ja, nein, warum?!:

                    Die Applikation weiß ja eigentlich nicht das sie sich in einem container befindet
                    und die rechte-mechanismen (sudo und so) funktionieren da genau gleich wie überall.

                    Ein wichtiger Punkt fehlt IMO noch: root/sudo und non-root auch im Container nicht mischen. Wenn ioBroker als normaler User läuft und man dann manuelle Updates per root oder sudo npm install 😱 drüber bügelt, gibt's Rechteprobleme.

                    cash 1 Reply Last reply Reply Quote 4
                    • haselchen
                      haselchen Most Active last edited by

                      @alcalzone

                      Da stimme ich dir in jeder Hinsicht zu.
                      Habe zu Testzwecken mal die Nutzer SetGid und SetUid geändert und auch sonst mal mit den Rechten rumgespielt.
                      Danach war der Container nur noch Grütze.
                      Update Errors waren an der Tagesordnung.
                      Mein Rat, den Container so lassen wie er ist .
                      @OliverIO hat ja schön beschrieben, wieso das so ist.

                      1 Reply Last reply Reply Quote 0
                      • cash
                        cash Most Active @AlCalzone last edited by

                        @alcalzone Die Rechte werden nach einen Update per root beim start vom Container automatisch gerade gezogen und es gib keine Probleme.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        550
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        root docker container user
                        6
                        10
                        1817
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo