Wie man Programme unter Linux über den Launcher als Root ausführt

Letzte Aktualisierung: 15 Oktober 2026
  • Root bietet die volle Kontrolle, aber Ubuntu und andere Distributionen halten diese Funktion standardmäßig deaktiviert, um Risiken zu minimieren.
  • Mit Sudo können Sie Berechtigungen fallweise erhöhen und es wird protokolliert, wer welchen Befehl ausführt.
  • Für grafische Anwendungen gibt es Hilfsprogramme wie kdesu, gksu, gksudo oder pkexec, die in .desktop-Startprogrammen verwendet werden können.
  • Sicherheit beruht auf der Anwendung des Prinzips der minimalen Berechtigungen, dem Vermeiden nicht vertrauenswürdiger Skripte und der Überwachung erhöhter Zugriffsrechte.

Systemingenieur für die Serververwaltung in einem modernen Rechenzentrum.

Unter Windows sind viele Nutzer daran gewöhnt, mit Shift+Enter oder Shift+Linksklick Programme mit erhöhten Rechten aus dem Startmenü zu öffnen. Unter Linux ist dies nicht immer so einfach, da die Sicherheit auf Root-Rechten, sudo und grafischen Hilfsprogrammen basiert und jede Desktop-Umgebung ihre eigenen Tools verwendet. Dennoch gibt es relativ einfache Möglichkeiten, Anwendungen als Root über einen Launcher, eine Verknüpfung oder das Anwendungsmenü zu starten. Es ist jedoch wichtig zu verstehen, was dies mit sich bringt.

Der entscheidende Punkt ist, dass der Root-Benutzer die uneingeschränkte Kontrolle über das System hat . Moderne Distributionen, insbesondere Ubuntu und seine Derivate, deaktivieren daher üblicherweise die direkte Anmeldung. Aus diesem Grund ist es unüblich, sich als Root anzumelden, sondern die Berechtigungen gelegentlich mit `sudo` oder einem grafischen Programm, das nach dem Passwort fragt, zu erhöhen. Soll ein App-Startsymbol eine Anwendung mit diesen Berechtigungen starten, muss der ausgeführte Befehl angepasst oder ein spezieller Startbildschirm erstellt werden.

Was bedeutet es genau, etwas als Root auszuführen?

Systemadministrations-Workstation mit mehreren Monitoren zur Anzeige von Linux-Terminals.

Unter Linux ist der Root-Benutzer das Benutzerkonto mit der Benutzer-ID 0 und uneingeschränkten Berechtigungen . Er kann beliebige Dateien lesen, ändern oder löschen, Software installieren, Kernel-Konfigurationen anpassen und Prozesse beliebiger Benutzer steuern. Das macht ihn zu einem unglaublich mächtigen Werkzeug, birgt aber bei unvorsichtiger Verwendung auch ein enormes Risiko. Ein einfacher Tippfehler mit `rm` oder `mv` kann das System unbrauchbar machen, und ein als Root ausgeführtes Schadprogramm kann Hintertüren installieren, Sicherheitsmaßnahmen manipulieren oder Daten nahezu spurlos stehlen.

In Ubuntu hat das Root-Konto kein Standardpasswort und eine direkte Anmeldung ist nicht möglich. Die Philosophie ist, dass man mit seinem normalen Benutzerkonto arbeitet und `sudo` für bestimmte Aufgaben verwendet . `sudo` bedeutet im Wesentlichen, einen Befehl als anderer Benutzer, üblicherweise Root, auszuführen, nachdem man sich mit seinem eigenen Passwort authentifiziert hat, sofern man der `sudo`-Gruppe angehört. Dies begrenzt die Zeit, in der man angreifbar ist, und protokolliert, wer welche Aktionen ausgeführt hat.

In bestimmten Situationen, wie der Wiederherstellung eines beschädigten Systems, dem Arbeiten in eingeschränkten Umgebungen oder der Konfiguration von Diensten, die dauerhaften Zugriff erfordern, kann es jedoch sinnvoll sein, den Root-Zugriff vorübergehend zu aktivieren. Generell wird empfohlen, ihn wieder zu deaktivieren, sobald er nicht mehr benötigt wird. Je kürzer die Zeit, die Sie als Root-Benutzer verbringen, desto besser für die Stabilität und Sicherheit des Systems.

Risiken der unvorsichtigen Verwendung von Root-Wurzeln

Eine der größten Gefahren ist das versehentliche Löschen wichtiger Dateien . Als Root-Benutzer gibt es keine Zugriffsbeschränkungen; ein Befehl wie `sudo rm -rf /` kann das System ohne Vorwarnung löschen. Da es in der Regel auch keinen Papierkorb für diese gelöschten Dateien gibt, kann die Wiederherstellung komplexe forensische Tools oder sogar eine vollständige Neuinstallation des Systems erfordern.

Ein weiteres Risiko besteht in der Ausführung nicht vertrauenswürdiger Skripte. Wenn Sie Code, den Sie von einer Website heruntergeladen haben, mit erhöhten Berechtigungen ausführen, geben Sie ihm im Grunde die Schlüssel zu Ihrem System . Selbst wenn das Skript harmlos erscheint, könnte es schädliche Anweisungen enthalten oder Schadsoftware mit Root-Rechten installieren. Daher ist es ratsam, den Code zu überprüfen, offizielle Quellen zu verwenden, Prüfsummen zu prüfen und ihn in einer virtuellen Maschine oder einem Container zu testen, bevor Sie ihn in der Produktionsumgebung einsetzen.

  Linux-Patches für RAS-Unterstützung auf Qualcomm-Plattformen

Es gibt auch ein Problem mit der Nachverfolgbarkeit. Bei Verwendung von `sudo` protokolliert das System den Befehl, den ausführenden Benutzer und die Uhrzeit in den Dateien `/var/log/auth.log`, `/var/log/secure` oder `journalctl` . Meldet man sich direkt als Root an, werden alle Aktionen als Root angezeigt, und es ist nicht mehr nachvollziehbar, wer welche Änderung vorgenommen hat. In Umgebungen mit mehreren Administratoren oder bei Anforderungen von ISO 27001, PCI DSS oder anderen Prüfstandards stellt diese mangelnde Nachverfolgbarkeit eine erhebliche Schwachstelle dar.

Möglichkeiten, um Berechtigungen vom Terminal zu erhalten

Screenshot-Detailansicht von Ubuntu-Terminals mit Systemprotokollen und Prozessüberwachung.

Die gebräuchlichste und empfohlene Methode ist, einem Befehl `sudo` voranzustellen. Um beispielsweise Pakete zu aktualisieren, einen Dienst neu zu starten oder eine geschützte Datei zu bearbeiten, fragt `sudo` nach Ihrem Benutzerpasswort (nicht dem Root-Passwort) und führt den Befehl nach erfolgreicher Authentifizierung mit erhöhten Rechten aus. Falls Sie den Befehl als anderer Benutzer ausführen möchten, verwenden Sie `sudo -u Benutzername Befehl` . Sollten Sie vergessen haben, `sudo` zu verwenden, können Sie den letzten Befehl mit `sudo !! ` wiederholen.

Wenn Sie mehrere administrative Aufgaben nacheinander ausführen möchten, kann es hilfreich sein, eine temporäre Root-Shell zu öffnen. `sudo -i` simuliert eine vollständige Root-Anmeldung, lädt die Root-Umgebung und versetzt Sie in Ihr Home-Verzeichnis. `sudo su` oder `sudo su -` funktionieren ebenfalls, wobei `sudo -i` in der Regel zuverlässiger ist. Um diese Sitzung zu beenden, geben Sie einfach `exit` ein. Es wird nicht empfohlen, eine Root-Shell unbeaufsichtigt geöffnet zu lassen.

Der Befehl `su` hingegen wechselt den Benutzer. `su - root` oder einfach `su -` übernehmen die Umgebungsvariablen des Zielbenutzers, während `su root` oder `su` ohne Bindestrich einen Teil der vorherigen Umgebung beibehält. Dieser Unterschied erklärt Fehler wie „Befehl nicht gefunden“: Administrative Befehle befinden sich üblicherweise in `/usr/local/sbin`, `/usr/sbin` und `/sbin`, Pfaden, die nicht immer im PATH eines normalen Benutzers enthalten sind. Wenn Sie `su` ohne Bindestrich verwenden, müssen Sie den vollständigen Pfad angeben oder zu `su -` wechseln, um den Root-PATH zu übernehmen.

Um ein Passwort für root zu aktivieren, verwenden Sie `sudo passwd root` . Ubuntu rät davon ab, erlaubt aber technisch gesehen die Verwendung eines Passworts für root. Zum Sperren des Kontos verwenden Sie `sudo passwd -l root` , zum Entsperren `sudo passwd -u root`. In SSH wird der direkte root-Zugriff durch `PermitRootLogin` in `/etc/ssh/sshd_config` gesteuert. Es empfiehlt sich, diese Einstellung auf `no` oder höchstens auf `prohibit-password` zu belassen, um nur SSH-Passwörter zuzulassen. Anschließend müssen Sie den SSH-Dienst neu starten.

Pullover präzise konfigurieren

Die Datei `/etc/sudoers` definiert, wer `sudo` verwenden darf und zu welchem ​​Zweck. Es empfiehlt sich, diese Datei nicht manuell zu bearbeiten. Stattdessen sollte man `sudo visudo` verwenden . Dadurch wird die Datei gesperrt und die Syntax vor dem Speichern überprüft. Die Grundregel lautet: `host user=(target_user)`. Beispielsweise erlaubt `bob ALL=(ALL) ALL` dem Benutzer `bob`, beliebige Befehle als Root auf jedem Rechner auszuführen. Auch Gruppen können verwendet werden, z. B. `%admin ALL=(ALL) ALL`.

  Liquorix-Kernel unter Linux: Optimierter Kernel für Desktop und Gaming

Um feinere Berechtigungen zu vergeben, werden Aliase verwendet. `User_Alias ​​ADMINS = alice, bob` gruppiert Benutzer, und `Cmnd_Alias ​​LOCATE = /usr/sbin/updatedb` gruppiert Befehle. Anschließend wird `ADMINS ALL = LOCATE` verwendet, damit nur diese Benutzer die entsprechenden Befehle ausführen können. Aliase wie `NETWORKING` können für Befehle wie `route`, `ifconfig`, `ping`, `iptables` usw. erstellt werden. Dies entspricht dem Prinzip der minimalen Rechtevergabe, ohne jemandem vollen Root-Zugriff zu gewähren.

Die Option `NOPASSWD` ermöglicht die Ausführung bestimmter Befehle ohne Passwort, beispielsweise `pi ALL=(ALL)`. `NOPASSWD: ALL`. Dies ist zwar praktisch, kann aber bei Missbrauch gefährlich sein. Darüber hinaus wird jede Verwendung von `sudo` protokolliert, was die Überprüfung von Zugriffen und die Fehlerbehebung erleichtert. Im Fehlerfall lässt sich anhand dieser Protokolle feststellen, welche Änderung kürzlich den Fehler verursacht hat.

Grafische Anwendungen als Root über den Launcher starten

Ansicht eines Linux-Terminals mit der Dateiliste des Stammverzeichnisses /.

Bei Programmen mit grafischer Oberfläche funktioniert die Verwendung von `sudo` meist nicht zuverlässig, da kein Terminal zur Passwortabfrage vorhanden ist. Hier kommen grafische Hilfsprogramme ins Spiel . In KDE gibt es beispielsweise `kdesu` : Kennt man den Befehl zum Starten der Anwendung, kann man `kdesu Befehl` ausführen. Über die Option „Befehl ausführen“ im KDE-Menü lässt sich eine Anwendung auch als anderer Benutzer starten, indem man dessen Anmeldedaten eingibt. In den Umgebungen GNOME und GTK waren `gksu` und `gksudo` weit verbreitet ; diese dienen als Benutzeroberflächen für `sudo` bzw. `su`. Beispielsweise öffnen `gksu synaptic` oder `gksudo gparted` die Anwendung und fordern das Passwort an.

In modernen Systemen wird von gksu abgeraten oder es gilt als veraltet. Üblicherweise wird stattdessen pkexec verwendet , das auf PolicyKit basiert und es Programmen ermöglicht, mit Berechtigungen gemäß definierten Richtlinien ausgeführt zu werden. Viele aktuelle Launcher nutzen pkexec für administrative Aufgaben. Das Prinzip ist dasselbe: Der Benutzer muss kein Terminal öffnen, sondern das System überprüft die Autorisierung kontrolliert.

Um eine Verknüpfung im Launcher zu erstellen, bearbeiten Sie die Datei ` .desktop` . Die Zeile `Exec` ist dabei entscheidend. Soll das Programm als Root ausgeführt werden, verwenden Sie beispielsweise `Exec=gksu /Pfad/zum/Programm`, `Exec=kdesu /Pfad/zum/Programm` oder `Exec=pkexec /Pfad/zum/Programm`. Bei direkter Verwendung von `sudo` muss im Launcher `Terminal=true` aktiviert sein oder Sie müssen ein grafisches `askpass` konfigurieren. Alternativ können Sie Alt+F2 drücken und den Hilfsbefehl sowie den Programmnamen eingeben, z. B. `gksu synaptic`. Unter KDE bewirkt `kdesu synaptic` oder die Option, das Programm als anderer Benutzer auszuführen, eine ähnliche Funktion.

Es gibt eine klassische Alternative namens consolehelper , eine Wrapper-Bibliothek für GUI-Anwendungen. Sie erstellen einen symbolischen Link, beispielsweise /usr/bin/xterm-root, der auf /usr/sbin/consolehelper verweist. Anschließend konfigurieren Sie PAM, indem Sie /etc/pam.d/xterm-root mit den Authentifizierungs-, Konto- und Sitzungseinbindungen aus config-util erstellen. Danach definieren Sie /etc/security/console.apps/xterm-root mit USER=root und PROGRAM=/usr/bin/xterm. Beim Ausführen von xterm-root fordert consolehelper die PAM-Authentifizierung an und startet xterm als Root. Falls der Fehler „Xlib connection to :0.0 refused by server“ auftritt, kann die Ausführung von xhost local:root Abhilfe schaffen.

Das Öffnen grafischer Anwendungen als Root-Benutzer birgt in jedem Fall Nachteile: Es vermischt Umgebungsvariablen, kann den Session-Bus beschädigen, Wayland oder X11 beeinträchtigen und Dateien im Home-Verzeichnis erstellen, die dem Root-Benutzer gehören. Verwenden Sie Root-Rechte daher am besten nur für bestimmte administrative Tools und schließen Sie diese sofort nach Gebrauch. Surfen Sie nicht im Internet und öffnen Sie keine verdächtigen Dokumente als Root-Benutzer , da jede Sicherheitslücke dadurch die vollen Berechtigungen erben würde.

Häufige Beispiele für Aufgaben, die Root-Zugriff erfordern

Viele alltägliche Vorgänge erfordern erhöhte Berechtigungen. Die Paketverwaltung mit apt, zypper, dnf oder yum benötigt oft sudo. Beispiele hierfür sind `sudo apt update` , `sudo apt install firefox` oder `sudo zypper install docker-ce`. Dasselbe gilt für Systemdienste: `sudo systemctl restart apache2`, `sudo systemctl restart ssh` oder `sudo systemctl restart nginx`. Um Benutzerkonten zu ändern, verwenden Sie `sudo usermod`, und um Dateibesitz zu ändern, verwenden Sie `sudo chown`. Auch das Bearbeiten kritischer Konfigurationen, wie z. B. `/etc/ssh/sshd_config`, erfordert Root-Rechte, wenn es mit nano, vim oder gedit durchgeführt wird.

  Schritt für Schritt zur Reparatur von GRUB ohne Live-CD

Für Befehle, die lediglich Informationen lesen oder das System nicht verändern, wie beispielsweise `zypper repos` oder `systemctl status NetworkManager`, benötigen Sie kein `sudo`. Es ist keine gute Praxis, `sudo` aus Gewohnheit für alles zu verwenden. Sinnvoller ist es, die Berechtigungen nur dann zu erhöhen, wenn die Aufgabe dies erfordert, und anschließend so schnell wie möglich wieder zum normalen Benutzer zurückzukehren.

Bewährte Vorgehensweisen beim Umgang mit erweiterten Berechtigungen

Nahaufnahme eines Serverschranks mit blauer Beleuchtung in einem Rechenzentrum.

Das Prinzip der minimalen Rechtevergabe sollte stets gelten. Verwenden Sie `sudo` für einzelne Befehle, wann immer möglich, vermeiden Sie dauerhafte Root-Shells, es sei denn, diese sind absolut notwendig, und beenden Sie die Shell, sobald Sie fertig sind. Führen Sie keine Skripte unbekannter Quellen als Root aus; prüfen Sie den Code vorher, laden Sie ihn von offiziellen Repositories oder seriösen Projekten herunter, überprüfen Sie die Prüfsummen und testen Sie ihn in einer isolierten Umgebung, wenn Sie Zweifel haben. Eine gesunde Portion Skepsis ist angebracht, wenn es um Code von Drittanbietern mit vollen Rechten geht.

Es empfiehlt sich außerdem, die sudo-Berechtigungen detailliert zu konfigurieren und sich nicht ausschließlich auf die sudo-Gruppe zu verlassen. Protokolle sollten regelmäßig überprüft werden. Serveradministratoren sollten die Dateien `/var/log/auth.log` und `/var/log/secure` sowie den Befehl `journalctl -xe` verwenden, um Missbrauch zu erkennen. In Mehrbenutzerumgebungen ist es entscheidend für die Nachvollziehbarkeit und die Einhaltung von Sicherheitsbestimmungen, zu wissen, wer welchen Befehl ausgeführt hat.

Root-Zugriff mit einem Header aktivieren und deaktivieren

Wenn Sie den Root-Zugriff aktivieren möchten, vergeben Sie mit `sudo passwd root` ein Passwort, verwenden Sie es nur für unbedingt notwendige Aufgaben und sperren Sie das Konto anschließend wieder. Um die direkte SSH-Anmeldung zu deaktivieren, bearbeiten Sie die Datei `sshd_config` und setzen Sie `PermitRootLogin no` oder `prohibit-password`. Starten Sie anschließend SSH neu. Um das Konto lokal zu sperren, verwenden Sie `sudo passwd -l root`. Zum Entsperren verwenden Sie `sudo passwd -u root`. Diese Maßnahmen verringern die Angriffsfläche und verhindern Brute-Force-Angriffe auf das mächtigste Konto.

In den meisten Fällen lautet die praktische Antwort auf die Ausgangsfrage: Ja. Sie können ein Programm über den Launcher mit Root-Rechten starten, indem Sie ein grafisches Hilfsprogramm wie kdesu, gksu, gksudo oder pkexec verwenden oder eine .desktop-Datei mit dem entsprechenden Befehl erstellen. Diese Einstellung sollten Sie jedoch nicht für jede Anwendung beibehalten. Es empfiehlt sich, spezielle administrative Launcher mit aussagekräftigen Namen zu verwenden und diese nur bei Bedarf einzusetzen.

Die wichtigste Erkenntnis ist, dass Root-Rechte kein Spielzeug sind und sudo genau dazu dient, Ihnen mehr Kontrolle zu geben, ohne jeden Klick zu einem permanenten Risiko zu machen. Wenn Sie eine grafische Anwendung als Administrator starten müssen, priorisieren Sie Hilfsprogramme, die ein Passwort erfordern, prüfen Sie, ob die Anwendung dieses Passwort wirklich benötigt, und beschränken Sie die Verwendung auf administrative Aufgaben. So genießen Sie den Komfort des Launchers, ohne die Sicherheit zu beeinträchtigen, die Linux so stark macht.