Unter Linux entspricht der Root-Benutzer dem Administrator-Benutzer unter Windows. Während Windows jedoch seit langem eine Kultur der durchschnittlichen Benutzer hat, die sich als Administrator anmelden, sollten Sie sich unter Linux nicht als Root anmelden.
Microsoft hat versucht, die Windows-Sicherheitspraktiken mit UAC zu verbessern – Sie sollten sich unter Linux nicht als Root anmelden, aus dem gleichen Grund, aus dem Sie UAC unter Windows nicht deaktivieren sollten.
Warum Ubuntu Sudo verwendet
Benutzer davon abzuhalten, als root zu laufen, ist einer der Gründe, warum Ubuntu sudo anstelle von su verwendet. Standardmäßig ist das Root-Passwort unter Ubuntu gesperrt, sodass sich durchschnittliche Benutzer nicht als Root anmelden können, ohne alles daran zu setzen, das Root-Konto erneut zu aktivieren.
Bei anderen Linux-Distributionen war es in der Vergangenheit möglich, sich über den grafischen Anmeldebildschirm als Root anzumelden und einen Root-Desktop zu erhalten, obwohl sich viele Anwendungen möglicherweise beschweren (und sich sogar weigern, als Root ausgeführt zu werden, wie es VLC tut). Benutzer, die von Windows kommen, entschieden sich manchmal, sich als Root anzumelden, genau wie sie das Administratorkonto unter Windows XP verwendet haben.
Mit sudo führen Sie einen bestimmten Befehl (mit dem Präfix sudo) aus, der Root-Rechte erhält. Mit su würden Sie den Befehl su verwenden, um eine Root-Shell zu erhalten, wo Sie den gewünschten Befehl ausführen würden, bevor Sie (hoffentlich) die Root-Shell verlassen. Sudo hilft bei der Durchsetzung von Best Practices und führt nur Befehle aus, die als Root ausgeführt werden müssen (z. B. Befehle zur Softwareinstallation), ohne dass Sie in einer Root-Shell bleiben, in der Sie angemeldet bleiben oder andere Anwendungen als Root ausführen können.
Begrenzung des Schadens
Wenn Sie sich mit Ihrem eigenen Benutzerkonto anmelden, können von Ihnen ausgeführte Programme nicht in den Rest des Systems schreiben – sie können nur in Ihren Home-Ordner schreiben. Sie können Systemdateien nicht ändern, ohne Root-Berechtigungen zu erhalten. Dies trägt zur Sicherheit Ihres Computers bei. Wenn beispielsweise der Firefox-Browser eine Sicherheitslücke aufweist und Sie ihn als Root ausführen, kann eine bösartige Webseite in alle Dateien auf Ihrem System schreiben, Dateien in den Home-Ordnern anderer Benutzerkonten lesen und Systembefehle durch kompromittierte . ersetzen Einsen. Im Gegensatz dazu, wenn Sie mit einem eingeschränkten Benutzerkonto angemeldet sind, kann die bösartige Webseite all diese Dinge nicht tun – sie könnte nur in Ihrem privaten Ordner Schaden anrichten. Dies kann zwar immer noch zu Problemen führen, es ist jedoch viel besser, als wenn Ihr gesamtes System kompromittiert wird.
Dies schützt Sie auch vor bösartigen oder einfach nur fehlerhaften Anwendungen. Wenn Sie beispielsweise eine Anwendung ausführen, die beschließt, alle Dateien zu löschen, auf die sie Zugriff hat (möglicherweise enthält sie einen bösen Fehler), löscht die Anwendung unseren Home-Ordner. Das ist schlecht, aber wenn Sie Backups haben (was Sie sollten!), ist es ziemlich einfach, die Dateien in Ihrem Home-Ordner wiederherzustellen. Wenn die Anwendung jedoch über Root-Zugriff verfügt, kann sie jede einzelne Datei auf Ihrer Festplatte löschen, was eine vollständige Neuinstallation erforderlich macht.
Feingranulare Berechtigungen
Während ältere Linux-Distributionen ganze Systemverwaltungsprogramme als Root ausführten, verwenden moderne Linux-Desktops PolicyKit für eine noch feinere Kontrolle der Berechtigungen, die eine Anwendung erhält.
Beispielsweise könnte einer Softwareverwaltungsanwendung nur die Berechtigung zum Installieren von Software auf Ihrem System über PolicyKit erteilt werden. Die Programmoberfläche würde mit den eingeschränkten Berechtigungen des Benutzerkontos laufen, nur der Teil des Programms, der Software installiert, würde erhöhte Berechtigungen erhalten – und dieser Teil des Programms würde nur Software installieren können.
Das Programm hätte keinen vollständigen Root-Zugriff auf Ihr gesamtes System, was Sie schützen könnte, wenn eine Sicherheitslücke in der Anwendung gefunden wird. PolicyKit ermöglicht es auch eingeschränkten Benutzerkonten, einige Änderungen an der Systemverwaltung vorzunehmen, ohne vollen Root-Zugriff zu erhalten, was die Ausführung als eingeschränktes Benutzerkonto mit weniger Aufwand erleichtert.
Mit Linux können Sie sich als Root bei einem grafischen Desktop anmelden – genauso wie Sie jede einzelne Datei auf Ihrer Festplatte löschen können, während Ihr System läuft, oder zufälliges Rauschen direkt auf Ihre Festplatte schreiben und Ihr Dateisystem auslöschen – aber es ist nicht so keine gute Idee. Selbst wenn Sie wissen, was Sie tun, ist das System nicht dafür ausgelegt, als Root ausgeführt zu werden – Sie umgehen einen Großteil der Sicherheitsarchitektur, die Linux so sicher macht.