Systemd Logo

systemd stellt Alternative zu sudo vor

Vor einigen Tagen ist systemd 256 stabil veröffentlicht worden. Hier soll es nur um einen Aspekt der neuen Veröffentlichung gehen, nämlich um run0 als sicherere Alternative zu sudo. Lennart Poettering stellt seit einiger Zeit Neuerungen in systemd auf Mastodon in verständlicher Sprache vor, anstatt wie früher weit anspruchsvoller auf seinem Blog Pid Eins.

run0 vs. sudo

So wurde auch run0 bereits im April auf Mastodon vorgestellt. Die neue Funktion ist so neu nicht, ist es doch ein symbolischer Link auf systemd-run, ein Tool zum Erstellen nicht dauerhafter Service-Units. Sowohl run0 als auch sudo erlauben unprivilegierten Usern temporär, Programme und Befehle mit Root-Rechten auszuführen. Sie bedienen sich dabei allerdings unterschiedlicher Mechanismen. sudo hat des Öfteren Probleme mit der Sicherheit und ist für die meisten User völlig überfrachtet. Als Alternative haben wir in der Vergangenheit das kleine Tool doas empfohlen.

Was macht run0 anders?

Poettering hat zwei Hauptkritikpunkte an sudo. Es ist ein SUID-Binary und wird aus dem User-Kontext heraus gestartet und verleiht temporär Root-Rechte, nachdem es die Berechtigung des Anfragenden in der Datei /etc/sudoers überprüft hat. Hier setzt der zweite Kritikpunkt an. Die in der Datei /etc/sudoers verwendete Syntax ist kompliziert und somit fehleranfällig. Da doas ebenfalls aus dem Kontext des Users gestartet wird, erfährt es ebenfalls keine Gnade. Poettering würde am liebsten das gesamte SUID-Konzept auf »die Müllhalde der schlechten Ideen von UNIX« verfrachten.

Keine eigene Syntax

run0 unterscheidet sich, indem es beim Aufruf systemd auffordert, einen Befehl oder eine Shell unter der UID des Users aufzurufen. Dabei wird der Befehl in einem isolierten exec-Kontext aufgerufen, der frisch von PID 1, also völlig ohne Nutzerkontext abgezweigt wurde, ohne irgendeinen Kontext vom Client zu erben. Anstatt wie sudo eine eigene Konfigurationssyntax zu verwenden, greift run0 dafür auf den Berechtigungsdienst Polkit (früher hieß es PolicyKit) zurück.

Wird run0 sudo beerben?

Aus Sicherheitsgründen färbt run0 standardmäßig den Hintergrund des Terminals in Rot. Das soll als Erinnerung dienen, dass die Privilegien noch nicht wieder aufgegeben wurden. Wer das nicht mag, kann es über die Option --background= abschalten. Was denkt ihr, wird sich run0 gegen sudo durchsetzen?

Teilt den Beitrag, falls ihr mögt

31 Kommentare

  1. Das ist hier kein politisches Forum. Deshalb hat diese Diskussion hier ein Ende. Sie hat nichts mit dem Thema des Beitrags mehr zu tun.

    29
  2. Je mehr Schweißperlen auf der Stirn und Schaum vor dem Mund alte Unix/Linux-Dinosaurier bei solchen Projekten bekommen, desto angebrachter ist das Projekt.

    8
    1. Ihr vergesst scheinbar, das genau diese Unix/Linux-Dinosaurier ersteinmal die Grundlagen und 90% des Aufbaus geleistet haben. Ohne die haettet ihr all das gar nicht, da waere schon etwas Ehrfurcht angebracht.

      Das ist ja das was ich sage, die Jungschen haben da keine Ehre mehr, sie wuerden alles verschleudern, zerbauen, verschlimmbessern etc.
      Welch ein unheimliches Glueck das nach wie vor Linus die Zuegel ganz ganz fest in der Hand haelt.

      Ich z.b. habe ’97-’98 die ersten Webshops fuer meine Kunden programmiert.
      Da wussten die Meisten noch gar nicht was das ist.

      7
      1. Kannst du dich langsam mal bremsen? Ehrfurcht? Keine Ehre mehr? Das geht mir jetzt deutlich zu weit. Wenn das so weitergeht, wirst du dich demnächst bei einer zunächst zeitlich begrenzten Sperre abkühlen dürfen.

        14
        1. Ja vielleicht etwas zu heftig ausgedrueckt aber ich zb. bin Menschen wie, Linus Torvald, Richard Stallman, Ian Murdoc und den ganzen Entwickler der 90er Jahre sehr sehr dankbar,
          das sie Linux zu dem gemacht haben was es ist und es auch mir ermoeglicht haben damals einen sehr kleinen Teil beizutragen.

          Da konntest Du nicht einfach mal so hin gehen und sagen: ‘Ich moechte mit machen.’ Da hies es als erstes: ‘Was kannste denn? Was haste denn schon gemacht.’ man musste sich schon beweisen und sich den Respekt der anderen Entwickler verdienen.

          Ohne diese jetzt  Unix/Linux-Dinosaurier und Leuten aus der ’90er Demosceene (z.B. Feature Crew), die in der Treiberentwicklung damals viel geholfen haben und immer offenes Ohr hatten, wenn man mal fest sass, gaebe es jetzt ein Linux garnicht.

          Und ohne den unermuedlichen Kampf gegen “Uebernahmen” etc. auch nicht.

          Und genau das meinte ich.

          schoenen Sonntag Abend noch.

          8
      2. Microsoft, der Hersteller des dominanten Desktop-Betriebssystems Windows, schert sich nicht um Unix/Linux.

        Welche Grundlagen und welche 90% des Aufbaus haben Unix/Linux-Dinosaurier geleistet?

        4
  3. Ich finde solche politischen Diskussionen gehören hier nicht hin. Analogie hin oder her.
    Möchte mich da nicht rein hängen, aber wenigstens sagen wenn ich das deplatziert finde.
    Entspannt euch und einen schönen Sonntag.

    15
  4. Ich habe kein Problem mit systemd hat für mich vieles vereinfacht das elende SysVinit rumgefrickel aus früheren Zeiten vermisse ich keinen einzigen Tag. Ob run0 nun wirklich ein Fortschritt ist da bin ich mir nicht so sicher was aber stimmt ist das sudo für ein Desktop Linux überfrachtet ist. Das einfärben im Terminal finde ich allerdings übertrieben. Mal schauen welche Distributionen auf den Zug aufspringen wird interessant.

    11
    1. Naja man muss sich eben mit seinem System befassen und schon hat man ein paar scripte die dann das machen was man sonst anderweitig haendisch machen muesste.

      Und dann gehts ja noch um die Kompatibilitaet mit bsd und unixsystemen.
      Aber vielleicht ist das auch gut so, dann kann nicht jeder Linuxroedler an einem unix system administrieren, was die Preise fuer die Profis dann wieder hoch treibt. 🙂

      6
      1. Ja ich beziehe mich jetzt auch mehr auf den Linux Desktop und selbst da ist der klassische Linux-User noch ein Exot wenn es dann um die unixartigen Systeme geht sind wir sicher im Bereich weit unter 1% was den Desktop angeht. Dann gibt es noch meinen Bereich Infrastruktur wo embedded Linux im Einsatz ist da gibt es dann keinerlei systemd ist auch nicht nötig da es selten Änderungen am System gibt die Kernel sind dann auch deutlich älter. Sonst hat sich Linux aber wie ich finde schon gut entwickelt selbst meine betagte Verwandschaft kommt inzwischen gut mit einem MX-Linux klar viele User brauchen auch nur Mail und Web um glücklich zu sein.

        4
        1. Ja es geht halt um solche Sachen, wie man ist Admin in einem unix system und es wird auf bsd oder Linux gewechselt oder sun und der er kennt sich problemlos darin aus (wo alle files liegen, bootscripte etc.) So war von Anfang an die Grundlage, Desktopsysteme sind je nicht vorrangig bei Linux gewesen und sind es auch immer noch nicht. (also die grund Distros).

          Deswegen gibt es ja auch so viele absolut spezialisierte Linuxdistros.
          bzw. bauen die Menschen ihr eigenes Linuxsystem.
          Das ist auch der eigentliche Sinn von Linux, normalerweise ein Grundsystem, wo man sich dann ergaenzend noch installiert was man braucht.
          zb. wird kaum ein versierter Linuxuser ein NAS so wie es von der Stange ist nutzen, viele werden da ein Linuxsystem drauf machen.

          Schaetze mal so 60% werden Linux genau so nutzen, der rest nimmt es von der Stange.

          1
    2. Kann ich dir sagen: suse, Redhat und ggf. deren Derivate.
      und wenn col den Weg weiter beschreitet, den sie jetzt eingeschlagen haben dann auch ubuntu.
      Allerdings sehe ich das nicht bei den derivaten.

      2
  5. sudo hat des Öfteren Probleme mit der Sicherheit und ist für die meisten User völlig überfrachtet. Als Alternative haben wir in der Vergangenheit das kleine Tool doas empfohlen.

    1. Ein Programm, dass “root”-Rechte hat, lässt sich wohl immer “missbrauchen”.
    2. Welche Sicherheitsprobleme hat “sudo”? Steht nicht. setuid? Ok, schaffen wir setuid ab?
    3. Wenn es mit doas eine Alternative gibt, warum braucht es run0?
    4. Wenn ich als User # sehe, ist das nicht genug der Warnung?
    5. Das Einfärben von Fenstern ist ein No-Go, auch wenn ich es irgendwie abschalten kann.
    6. Was passiert, wenn run0 auf einem externen Rechner bin? Was wird dann eingefärbt?
    7. Was, wenn run0 im Hintergrund läuft? Was wird dann gefärbt?
    8. Hätten nicht alle systemd-Systeme massive Probleme gehabt (xy-Bibliothek), wenn es nicht noch im allerletzten Moment bemerkt worden wäre?
    9. Ist polkit jetzt wirklich sicherer als sudo? Anregung: Suchen mit ‘polikt security risks’ hilft.
    10. Was haben wir eigentlich davon, wenn wir andauernd immer wieder die Syntax ändern?
    11. Wie wird run0 genutzt? Ok, Manpage von run0 hilft (Auszug): –no-ask-password Do not query the user for authentication for privileged operations. Added in version 256.
    12. Ok, habe verstanden, –no-ask-password wird ohne Testen “scharf” geschaltet. Well done!

    Wie immer gilt, wer es haben will, nehme es. Ich sehe aber keinen Grund dafür, warum ich wegen run0 zu systemD bzw. warum ich sudo eliminieren wollte/sollte. Ganz grundsätzlich bevorzuge ich Programme, die möglichst überall über einen langen Zeitraum gleich laufen, d.h. ich habe Freude, wenn ich z.B. unter Alpine das Rad nicht neu erfinden muss. Bin halt etwas “lernfaul”, hey, aber es ist meine Zeit…

    18
    1. Ich sehe da auch keinen Grund. Der Einzige der mir einfaellt ist, das man systed wieder einmal weiter ausdehnen moechte und somit immer mehr Eiheitsbrei und wahrscheinlich auch Kontrolle.
      Sonst macht das ja alles gar keinen Sinn.

      4
  6. Tja die systemd Leute eben wollen alles an sich reissen. Ist ja nix Neues.
    Und wieder wuerde systemd in etwas eingreifen, was es garnichts an geht.
    Win laesst gruessen.
    Und schon die Aussage ” Die in der Datei /etc/sudoers verwendete Syntax ist kompliziert”
    sagt dabei alles.

    Deswegen niemals systemd.

    Lustig finde ich auch: “in verständlicher Sprache vor”, macht der da die Tagesschau oder einen
    Blog fuer Developers.
    oder ist das die Deppenerklaerung?
    Die Tagesschau laesst gruessen. 🙂

    22
    1. mal etwas zu Lennart Poettering selbst. Quelle wiki.

      “2011 beispielsweise verteidigte er das Inkompatibelwerden von Linux mit BSDBetriebssystemen[9] durch systemd.”
      (Ein wichtiger Grundsatz von Linux in Bezug auf BSD/unix)

      “Auch plädierte er auf der GUADEC 2012, einer Gnome-Entwickler-Konferenz, für eine Vereinheitlichung des Linux-Desktops durch ein Abgehen von distributionsspezifischen Lösungen.”
      (Einheitsbrei, keine individualitaet der Distributionen mehr)

      Wenn man jetzt noch weis, das er seit 2022 bei MS arbeitet, kann man das glaube ich, sehr gut einordnen.

      21
    2. Deutsch ist eine schwere Sprache. Viele Menschen in Deutschland verstehen Deutsch nur schlecht. Manche Menschen müssen erst noch Deutsch lernen. Manche Menschen verstehen Deutsch nur langsam. 17 Millionen Menschen in Deutschland können Deutsch nur schwer verstehen. Das sind sehr viele Menschen.

      Deshalb ist die Tagesschau in einfacher Sprache gut. Sie erklärt Dinge so, dass alle sie verstehen.

      Jetzt kommt zum Beispiel Jens. Jens sagt: “Die Tagesschau in einfacher Sprache will uns dümmer machen”. Jens sagt: “Ich bin klug”. Aber Jens sieht Sachen im Internet und sagt: “Das stimmt”. Dabei stimmen die Sachen gar nicht. Das liegt daran, dass Jens schnell glaubt, was andere sagen. Er versteht Zusammenhänge nicht. Zusammenhänge bedeutet: Verschiedene Sachen sind miteinander verbunden.

      Für Jens wäre die Tagesschau in einfacher Sprache gut. Denn die Tagesschau in einfacher Sprache erklärt Zusammenhänge so, dass auch Jens sie versteht. Dann kann Jens wieder sagen: “Ich bin klug”. Und dann stimmt es auch.

      Es gibt Menschen, die sagen: “Ich will die Tagesschau nicht in einfacher Sprache schauen”. Diese Menschen können die normale Tagesschau schauen. Sie müssen sich nicht aufregen. Sie können weiter so leben, wie sie möchten. Das nennt man “erwachsen sein”.

      37
      1. Die einfache Sprache dient vornehmlich dem unverholen offen dargelegtem Zweck der “Öffentlich-Rechtlichen”: Verbreitung der Propaganda.

        Die zur Neutralität verpflichtete Berichterstattung ist zum Sprachrohr der derzeitigen Regierung verkommen.

        Bsp genügend vorhanden: “Pandemie”, AFD, Ukraine-Krieg, CO2-Narativ usw..

        Alles schön so dargestellt, wie es den Regenten gefällt, alles andere ist Majestätsbeleidigung (Paragraphen in dieser Richtung in Vorbereitung).

        Also her mit der Einfach-Sprache, damit auch der Dümmste die Marsch-Richtung kennt.

        18
        1. Aber da ist ein Denkfehler von Seiten der oeffentl. Rechtlichen, denn die die wenig, kaum,kein Deutsch verstehen, die schauen auch keine Tagesschau, die holen ihre Infos wenn sie es wollen von Medien in ihrer Muttersprache. un das Ausland berichtet ueber vieles ganz anders als die dt Oeffentl.

          5
          1. Brandmarkungen ala “rechte Deppen”, “Schwurpler”,… verbannen Menschen in eine Ecke, Dialog mit “denen” verboten.
            Dies ist Nazi-Sprache – Ende der Kultur, weil, wenn der Dialog-Faden reißt, ist Krieg die nächste Stufe.

            Daneben:

            Jeder ist automatisch “rechts”, wenn er nicht ausdrücklich “links” ist.Wie ist “rechts” definiert? Diese Titulierung ist mitnichten gleichzusetzen mit “brauner” Gesinnung! Achtung: Auch hier wieder Brandmarkung.
            Im Übrigen:
            Die heruntergekommene Schulbildung in Deutschland ist, und dies ist nicht auszuschließen, nachdem was wir seit 2020 erlebt haben, politisch gewollt:
            Dummheit läßt sich leicht regieren, Menschen lassen sich wie Marionetten führen.

            Einen schönen Sonntag wünscht, Kai

            15
            1. “Depp” ist auch nicht definiert. Das ist gut, weil jeder die Begriffe für sich definieren kann.

              Wenn jemand Randgruppen wie Menschen mit Behinderung oder Ausländer schlecht macht, weil sie Hilfe wie z. B. eine einfache Sprache benötigen, dann nenne ich diese Menschen “rechts”.

              Wenn jemand Personen diffarmiert, welche benachteiligte Menschen z. B. mit leichter Sprache integrieren wollen, dann nenne ich solche Leute “Deppen”.

              Und wenn diese Leute ihre toxische Philosophie an Orten wie Artikeln zu systemd verbreiten, welcher gar nichts mit der Tagesschau zu tun hat, dann ärgert mich das.

              31
              1. Was bitte hatte eine Behinderung, wie auch immer, mit Intelligenz und Integrationswille zu tun?
                Alles ist seit neuestem toxisch wenn es nicht der eigenen linken/grünen Philosophie folgt.
                Es nervt mittlerweile extrem.

                8
          2. Hä?
            Was hat das nun mit rechter Gessinung zu tun, wenn ich nicht dieser grünen Ideologie folge.
            Wenn du in Deutschland leben und arbeiten willst, lerne Deutsch. Fertig.
            Tun übringens auch diejenigen die hier wirklich leben, arbeiten und vor allem sich integrieren wollen. Auf alle anderern, kann unsere Gesellschaft verzichten.

            9
      2. Zum einen, was hat das mit dem Thema zu tun?
        Und zum zweiten ist diese “einfache Sprache” völliger Bullshit. Wenn einer die deutsche Sprache nicht versteht soll er sie lernen. Muss jeder andere auch, wenn er in einem anderen Land leben möchte. Und völlig unnötiges Geld kostet es auch noch.

        8

Die Kommentare sind geschlossen.