{"id":7319,"date":"2024-05-02T11:54:22","date_gmt":"2024-05-02T11:54:22","guid":{"rendered":"https:\/\/byte-bucket.com\/2024\/05\/02\/systemd-v256-bringt-mit-run0-eine-neue-alternative-zu-sudo-lennart-poettering-hat-wieder-zugeschlagen\/"},"modified":"2024-05-02T11:54:22","modified_gmt":"2024-05-02T11:54:22","slug":"systemd-v256-bringt-mit-run0-eine-neue-alternative-zu-sudo-lennart-poettering-hat-wieder-zugeschlagen","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=7319","title":{"rendered":"Systemd v256 bringt mit run0 eine neue Alternative zu sudo: Lennart Poettering hat wieder zugeschlagen!"},"content":{"rendered":"<p>Lennart Poettering, der prominente Linux-Entwickler, hat uns eine neue Spielerei mitgebracht: Systemd-Version 256 enth\u00e4lt ein neues Tool namens run0. Damit k\u00f6nnen jetzt auch normale Benutzer Befehle mit Root-Rechten ausf\u00fchren. Poettering behauptet sogar, dass run0 eine sicherere Alternative zu sudo ist. Na, da sind wir mal gespannt!<\/p>\n<p>Der Hauptgrund f\u00fcr diese modernere sudo-Alternative ist laut Poettering die Sicherheit. Im Gegensatz zu sudo handelt es sich bei run0 um ein sogenanntes SUID-Binary. Das bedeutet, dass es im Kontext eines Benutzers gestartet wird und dann mit Root-Rechten l\u00e4uft. Anschlie\u00dfend wird das Passwort des Benutzers angefordert und anhand der Regeln in der Datei \/etc\/sudoers \u00fcberpr\u00fcft, ob der Benutzer das gew\u00fcnschte Programm mit Administratorrechten ausf\u00fchren darf.<\/p>\n<p>Poettering behauptet, dass die Syntax dieser Regeln bei sudo komplex und anf\u00e4llig f\u00fcr Fehler ist. Sowohl sudo als auch der von sudo gestartete Prozess \u00fcbernehmen standardm\u00e4\u00dfig viele Aspekte des Nutzerprozess-Kontextes, wie offene Dateien, Umgebungsvariablen, Sicherheitskontexte und cgroup-Zuordnungen. Aber Poettering ist skeptisch, ob sudo selbst wirklich f\u00fcr die Bereinigung der Umgebung verantwortlich ist. Deshalb verwendet das Betriebssystem OpenBSD anstelle von sudo das eigene, weniger anf\u00e4llige doas.<\/p>\n<p>Aber Poettering geht noch weiter und betrachtet das Starten privilegierter Prozesse aus dem Kontext eines regul\u00e4ren Benutzers als generell schlechte Idee. Er h\u00e4lt das gesamte Konzept von SUID f\u00fcr veraltet und betrachtet es als eine der schlechten Ideen aus der Unix-Welt. Es gibt zahlreiche CVEs (Common Vulnerabilities and Exposures), die Schwachstellen in sudo oder aufgrund fehlerhaft gesetzter SUID-Bits aufdecken. Oops!<\/p>\n<p>Um dieses Problem zu umgehen, schl\u00e4gt Poettering vor, run0 ohne SUID-Bit zu verwenden. Stattdessen greift run0 auf Polkit (fr\u00fcher bekannt als PolicyKit) zur\u00fcck, einen etablierten Linux-Dienst zur Steuerung der Software-Berechtigungen, um Root-Rechte zu erlangen. Zus\u00e4tzlich wird der neue privilegierte Prozess direkt vom Init-Prozess (PID 1) gestartet, wodurch er keinerlei Benutzerkontext \u00fcbernimmt. Klingt schon vielversprechend, oder?<\/p>\n<p>Poettering betont, dass run0 eher mit einem SSH-Zugang zur lokalen Maschine vergleichbar ist als mit sudo oder su. Tats\u00e4chlich handelt es sich bei run0 um systemd-run, einen Mechanismus von Systemd zum Starten von vor\u00fcbergehenden Prozessen, der schon seit einiger Zeit existiert. Ab Systemd-Version 256 verh\u00e4lt sich das Programm, wenn es \u00fcber einen symbolischen Link als run0 aufgerufen wird, \u00e4hnlich wie sudo, jedoch mit einigen zus\u00e4tzlichen Funktionen. Eine dieser Funktionen ist, dass das Terminal rot eingef\u00e4rbt wird, solange der Prozess mit Root-Rechten ausgef\u00fchrt wird. Na, das ist doch mal stylisch!<\/p>\n<p>Ob run0 tats\u00e4chlich eine sichere Alternative zu sudo ist, muss sich noch zeigen. Es ist immer gut, wenn Entwickler neue Wege gehen und nach besseren L\u00f6sungen suchen. Aber bis run0 sich bew\u00e4hrt hat und von der Community akzeptiert wird, sollten wir vielleicht noch ein bisschen skeptisch bleiben. In der Zwischenzeit k\u00f6nnen wir uns ja schon mal auf das rote Terminal freuen, das uns daran erinnert, dass wir gerade mit Root-Rechten jonglieren.<\/p>\n<p>Schlagw\u00f6rter: Lennart Poettering + run0 Polkit + sudo<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lennart Poettering, der prominente Linux-Entwickler, hat uns eine neue Spielerei mitgebracht: Systemd-Version 256 enth\u00e4lt ein neues Tool namens run0. Damit k\u00f6nnen jetzt auch normale Benutzer Befehle mit Root-Rechten ausf\u00fchren. Poettering behauptet sogar, dass run0 eine sicherere Alternative zu sudo ist. Na, da sind wir mal gespannt! Der Hauptgrund f\u00fcr diese&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":7318,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7319","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/7319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7319"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/7319\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/7318"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}