So verwenden Sie Run0 unter Linux
Run0 ist ein neues und innovatives Programm zur Rechteausweitung für Systemd-basierte Linux-Distributionen. Es bietet eine leichte und „konfigurationslose“ Alternative zu herkömmlichen Ausweitungs-Apps wie sudo und doas. Hier zeigen wir Ihnen die Grundlagen der Verwendung von Run0 zur Ausweitung von Befehlen für Ihr Linux-System.
Zuvor möchten Sie vielleicht herausfinden, was Run0 ist und worin es sich von sudo unterscheidet.
So führen Sie Programme als anderer Benutzer aus
Eine der häufigsten Verwendungen für Apps zur Rechteausweitung ist das Ausführen von Befehlen als Root-Benutzer. In diesem Zusammenhang erfordert das Tippen auf den Root-Benutzer in Run0 das Hinzufügen von run0 vor dem Befehl, den Sie ausführen möchten. Beispielsweise erstellt das Folgende einen neuen Ordner in einem Verzeichnis, auf das nur Root zugreifen kann:
Daraufhin wird entweder eine CLI-Passwortabfrage oder ein kleines GUI-Fenster angezeigt, in dem Sie nach dem Passwort Ihres aktuellen Benutzers gefragt werden.
Ähnlich wie sudo und doas kann Run0 beim Ausführen von Befehlen auch zu einem Nicht-Root-Benutzer wechseln. Fügen Sie dazu das --user
Flag gefolgt vom Namen des Benutzers hinzu, als den Sie den Befehl ausführen möchten:
Geben Sie das Kennwort für den Benutzer ein, zu dem Sie wechseln möchten, und drücken Sie dann Enter.
So wechseln Sie zur Shell eines anderen Benutzers
Ein weiterer wichtiger Aspekt einer App zur Rechteausweitung ist die Möglichkeit, den Benutzer in eine Root-Shell zu verschieben. So können Sie als Root-Benutzer mit Ihrem System interagieren und komplexere Befehle über die CLI ausführen.
In Run0 können Sie dies tun, indem Sie das Programm ohne zusätzliche Argumente ausführen.
Genau wie beim Ausführen von Programmen als Root ist es auch möglich, Run0 mit dem --user
Flag zu verwenden, um eine Shell-Sitzung als bestimmter Benutzer zu starten:
Darüber hinaus können Sie mit run0 Shell-Sitzungen mit temporären Gruppenberechtigungen für Nicht-Root-Benutzer erstellen. Dies ist nützlich, wenn Sie auf Ordner zugreifen möchten, die hinter einem bestimmten Benutzer und einer bestimmten Gruppe gesperrt sind, ohne auf Root zuzugreifen.
Beispielsweise gewährt der folgende Befehl dem Benutzer „alice“ temporären Zugriff auf die Gruppe „www-data“:
Sie können das --chdir
Flag auch verwenden, um beim Wechsel zu einer neuen Shell-Sitzung einen Verzeichniswechsel zu erzwingen:
So passen Sie die aktuelle Run0-Sitzung an
Das größte Verkaufsargument von Run0 ist, dass es kein setuid (SUID) verwendet, um Superuser-Aktionen abzuwickeln. Stattdessen verlässt es sich auf systemd-run, das isolierte Pseudo-TTYs für die Ausführung von Befehlen als Root erstellt.
Eine Konsequenz dieses Ansatzes ist, dass Systemd jede Run0-Shell als eigenständige Einheit behandelt, die unter dem Service Manager ausgeführt wird. Dies ermöglicht Ihnen, Ihren Root-Shell-Prozess anzupassen, im Gegensatz zu herkömmlichen Apps zur Rechteausweitung.
Um eine Bezeichnung für Ihre Root-Shell hinzuzufügen, verwenden Sie das --unit
Flag gefolgt vom gewünschten Namen:
Sie können Ihrer Root-Shell auch eine benutzerdefinierte Beschreibung hinzufügen, indem Sie das --description
Flag hinzufügen:
Überprüfen Sie, ob Sie Ihre Angaben richtig angewendet haben, indem Sie den benutzerdefinierten Namen Ihrer Root-Shell mit folgendem Befehl auflisten systemctl
:
Standardmäßig ändert Run0 die Farbe Ihres Root-Shell-Hintergrunds in Rot. Dies ist zwar ein hilfreicher visueller Indikator, kann jedoch störend sein, wenn Sie auf Ihrem System ein helles Design verwenden.
Um dies zu ändern, verwenden Sie die --background
Flagge gefolgt von einem Wert zwischen 40 und 49:
Zuletzt können Sie auch den „Niceness-Level“ Ihrer Root-Shell anpassen. Dies ist ein Wert zwischen -20 und 19, der bestimmt, ob Ihr Kernel Ihrem Prozess gegenüber anderen Vorrang einräumt.
Um Ihrer Root-Shell die höchste Priorität zu geben, verwenden Sie das --nice
Flag mit dem Wert „-20“:
So gruppieren Sie Run0-Sitzungen
Abgesehen davon, dass Sie jede Linux-Root-Shell anpassen können, können Sie Run0 auch verwenden, um sie in einem Systemd-Slice zusammenzufassen. Dies ist eine spezielle Konstruktion, mit der Ihr Computer den Ressourcenbedarf für Prozesse anpassen kann, ohne den Rest Ihres Systems zu beeinträchtigen.
Um eine Root-Shell auf einem anderen Slice zu erstellen, führen Sie das --slice
Flag gefolgt vom Namen des Slice aus, zu dem Sie wechseln möchten:
Bestätigen Sie, dass Ihre neue Sitzung unter Ihrem neuen Slice ausgeführt wird, indem Sie die darin enthaltenen Prozesse auflisten:
Sie können das Flag auch verwenden, --slice-inherit
um Ihren neuen Slice zusammen mit dem Slice zu gruppieren, aus dem Run0 stammt. Dies ist nützlich, wenn Sie Ihre Shells bereits in den entsprechenden Slices gruppiert haben und nur eine neue Shell hinzufügen möchten:
So führen Sie Befehle auf Systemd-Containern mit Run0 aus
Systemd-nspawn ist ein spezielles Programm, das leichtgewichtige Linux-Container ähnlich wie Docker erstellen und verwalten kann. Da es Teil der Systemd-Suite ist, können Sie Run0 auch verwenden, um Befehle in Ihren nspawn-Containern von Ihrem Hostcomputer aus auszuführen.
Beginnen Sie mit der Auflistung der verfügbaren Systemd-nspawn-Container in Ihrem System:
Führen Sie den folgenden Befehl aus, um einen Ordner im Stammverzeichnis Ihres Containers zu erstellen:
Es ist auch möglich, mit Run0 zur Root-Shell Ihres Containers zu wechseln:
Bestätigen Sie, dass Sie jetzt in Ihrem Container arbeiten, indem Sie den Hostnamen Ihrer Terminalsitzung ausdrucken:
Zu lernen, wie man Run0 zum Ausführen und Verwalten von Root-Befehlen in Linux verwendet, ist nur die Spitze des Eisbergs, wenn es um Apps zur Rechteausweitung geht. Tauchen Sie tief in die komplexe Welt ein, indem Sie sich die Unterschiede zwischen su, sudo und sudo -s ansehen.
Bildnachweis: Xavier Cee via Unsplash . Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar