Wie können Sie mit Usermod sudo umgehen?

Wie können Sie mit Usermod sudo umgehen?

Mein Team hatte kürzlich eine Show-and-Tell-Veranstaltung und ich präsentierte meine Erkenntnisse zuDocker. Ich habe erklärt, wie Sie Docker installieren können mit:

curl -sSL https://get.docker.com/ | sh

sudoIch habe dann erklärt, dass Sie bei dieser Installation allen Docker-Befehlen (zB ) voranstellen müssen sudo docker info, es sei denn, Sie führen Folgendes aus:

sudo usermod -aG docker myUser

Sobald Sie dies getan haben, können Sie einfach beispielsweise Folgendes ausführen: docker info.

Ein anderer Junior-Ingenieur fragte mich, wie dieser usermodBefehl funktioniert, und ich erklärte ihn so, wie ich ihn für Linux-Benutzer/-Gruppen verstehe:

  • Alle Docker-Binärdateien werden auf dem System installiert und gehören zu einer Gruppe namensdocker
  • Da myUseres standardmäßig kein Mitglied von ist docker, hat es keine RWX-Berechtigungen, irgendetwas mit den Docker-Binärdateien zu tun.
  • Die Lösung besteht also darin, entweder zu verwenden sudo, was Ihnen Root-Berechtigungen für den angegebenen Befehl gibt, oder myUserdie Mitgliedschaft in der dockerGruppe zu erteilen

Als ich es so erklärte, sagte mir ein leitender Ingenieur sehr abrupt, dass ich falsch liege und dass „es ist ein bisschen komplizierter."

Daher frage ich: Missverstehe ich hier das Sicherheitsmodell von Linux und hat der leitende Ingenieur recht? Wenn ja, was übersehe ich (und was zum Teufel ist „so kompliziert“)? Oder habe ich recht, und kann mir in diesem Fall jemand eine solide Dokumentation zeigen, die das beweist?

Antwort1

Alle Docker-Binärdateien sind auf dem System installiert und gehören zu einer Gruppe mit dem Namen Docker

Falsch. dockerEigentümer der Binärdatei ist root:root:

$ stat `which docker`
  File: ‘/usr/bin/docker’
  Size: 16296881    Blocks: 31832      IO Block: 4096   regular file
Device: fc00h/64512d    Inode: 143202      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Da myUser standardmäßig kein Mitglied von Docker ist, verfügt es nicht über RWX-Berechtigungen, um irgendetwas mit den Docker-Binärdateien zu tun.

Die Binärdateien sind für jeden lesbar und ausführbar.

Die Lösung besteht also darin, entweder sudo zu verwenden, das Ihnen Root-Berechtigungen für den angegebenen Befehl gibt, oder myUser die Mitgliedschaft in der Docker-Gruppe zu erteilen.

Der Docker-Dienst verwendet einen Socket, um auf Befehle zu warten. Der Socket ist normalerweise:

  • befindet sich/var/run/docker.sock
  • gehörtroot:docker
  • und für die Gruppe beschreibbar, aber nicht für andere lesbar oder beschreibbar:

Zum Beispiel:

$ stat /var/run/docker.sock
  File: ‘/var/run/docker.sock’
  Size: 0           Blocks: 0          IO Block: 4096   socket
Device: 10h/16d Inode: 13619       Links: 1
Access: (0660/srw-rw----)  Uid: (    0/    root)   Gid: (  997/  docker)

DasDeshalb dockerkönnen Sie als Mitglied der Gruppe Befehle ausführen docker.

Beachten Sie, dass Sie als Parameter für den dockerDienst angeben können, welche Gruppe verwendet werden soll. Von man docker:

   -G, --group=""
 Group  to assign the unix socket specified by -H when running in dae‐
   mon mode.
 use '' (the empty string) to disable setting of a group.  Default  is
   docker.

Es ist also nichthabenzu sein docker, ist aber dockerstandardmäßig so.

Antwort2

Wenn Sie darüber sprechen, wie sicher Linux ist und welche Schwachstellen es haben kann, dann ja. Wenn ich Ihre Frage richtig verstehe, lautet die Antwort für Sie ja. Meine Erklärung ist, dass Linux meines Wissens unabhängig von der Distribution wie jedes andere Betriebssystem Viren bekommen kann, je nachdem, was Sie installieren oder nicht. Nehmen Sie zum Beispiel Flash Player, der selbst unter Windows viele Sicherheitslücken im Betriebssystem aufweist und es dadurch anfälliger macht als vor der Veröffentlichung.

Wenn Sie Linux ohne Desktop und all diese anderen tollen Privilegien ausführen würden, wäre es, wenn ich mich nicht irre, sicherer als mit all unseren Lieblings-Apps und dergleichen. Ich weiß nicht, ob meine Antwort geholfen hat, aber ich hoffe, das hat geholfen

verwandte Informationen