Linux und Windows sind mehrbenutzerfähig, und beide unterscheiden zwischen normalen, “nicht privilegierten” Anwendern und Systemadministratoren. Eines der Systeme ist sehr großzügig bei der Rechtevergabe.
Was die wichtigsten Konzepte angeht, unterscheiden sich Windows und Linux kaum: Auf beiden Systemen können Sie mehrere Benutzerkonten anlegen, so dass sich z. B. in einem privaten Haushalt alle Personen den PC teilen können. Damit verbunden ist ein eigener Platz für persönliche Dateien und Einstellungen – das Home-Verzeichnis. Bei Linux liegt es im Ordner /home/username, bei Windows in \Users\username\. Die Standardeinstellungen für Zugriffsrechte sind auf beiden Systemen so gewählt, dass private Dateien auch privat bleiben, normale Anwender können nicht auf fremde Home-Verzeichnisse zugreifen. Alle Schutzmechanismen lassen sich hier wie da aushebeln, wenn man es schafft, zum Administrator zu werden – und da trennen sich die Wege von Windows und Linux.
Standardbenutzer als Administrator
Auf modernen Windows-Versionen ist der erste angelegte Benutzer automatisch ein Administrator, und er hat typischerweise kein Passwort. Nach dem Booten ist also eine sofortige Anmeldung mit Root-Rechten möglich.
Das bedeutet nicht, dass der Standardbenutzer unmittelbar z. B. Schreibrechte in beliebige Verzeichnisse hat, aber dass er durch einfaches Bestätigen diesen Schreibzugriff erlangen kann. So kann man z. B. ohne Rückfrage in C:\Windows\System32\ einen neuen Unterordner erzeugen – beim anschließenden Versuch, eine Datei hierhin zu kopieren, erscheint ein Dialog, der um die nötige Freigabe bittet (Abbildung 1). Hier fragt Windows kein Passwort ab, obwohl der Benutzeraccount mit einem versehen wurde – ein einfacher Klick auf Fortsetzen reicht.

Abbildung 1: Unterordner in Windows-Systemverzeichnissen darf jeder erstellen, dort aber erst nach Bestätigung Dateien anlegen.
Die Standardempfehlung für Windows-Anwender lautet, aus Sicherheitsgründen über die Benutzerverwaltung einen zweiten Administrator-Account anzulegen und dann das eigene Konto zum Standardkonto herabzustufen: Dabei bleiben alle privaten Einstellungen, Dokumente etc. erhalten, aber die Gefahr, dass heruntergeladene Schadsoftware die Root-Privilegien nutzt, wird ein wenig verringert – außerdem wird es damit unwahrscheinlicher, aus Versehen wichtige Systemdateien zu löschen. Dennoch arbeiten die meisten Windows-Anwender mit den Voreinstellungen, sind also ständig als Administrator unterwegs. Den unter älteren Windows-Versionen vorhandenen Account mit dem Benutzernamen Administrator gibt es übrigens auch bei Windows 7/8, aber er ist deaktiviert: Eine Anmeldung mit diesem Namen ist nicht möglich.
Auch alle für PC-Benutzer gedachten Linux-Distributionen legen bei der Installation einen Standardbenutzer an und geben ihm die Möglichkeit, Administratorrechte zu erlangen – aber der Standardbenutzer ist nicht identisch mit dem Administrator. Der Linux-Systemverwalter hat immer den Account root (der Name ist nur eine Konvention) mit der Benutzer-ID 0 (die Nummer ist zwingend), und abhängig von der Distribution hat der Standardbenutzer eine der folgenden zwei Möglichkeiten, zu root zu werden:
- Entweder hat der Installer für root ebenfalls ein Passwort gesetzt, das zunächst identisch mit dem normalen Benutzerpasswort ist (sich aber jederzeit ändern lässt),
- oder der Installer hat den Benutzer in die Liste der so genannten “Sudoers” (/etc/sudoers) eingetragen, was ihm die Möglichkeit gibt, über sein eigenes Passwort zum Administrator zu werden – in dem Fall ist kein separates Root-Passwort vorhanden, es lässt sich aber bei Bedarf setzen, was dann einen zweiten möglichen Zugang zu Root-Rechten schafft.
OpenSuse verfolgt den ersten Ansatz, Ubuntu den zweiten, und auf allen Distributionen ist generell ein Mischbetrieb möglich, bei dem es ein Root-Passwort gibt und gleichzeitig ausgewählte Anwender die Möglichkeit haben, mit ihrem eigenen Passwort zu root zu werden.
“su”, “sudo” und “runas”
Das Sudoers-Konzept ist sehr mächtig, es lässt sich so konfigurieren, dass Anwender nicht einfach beliebige Aktionen als root durchführen, sondern nur ausgewählte Programme starten können – dabei können verschiedene Benutzer auch unterschidliche Privilegien erhalten. So könnte man z. B. einem Linux-Anwender die Möglichkeit geben, das Netzwerk zu konfigurieren, und einem anderen erlauben, Festplatten zu partitionieren.
Mit den Kommandos su und sudo (sowie grafischen Frontends wie kdesu und kdesudo (Abbildung 2) können Linux-Anwender, sofern Sie berechtigt sind, jederzeit beliebige Kommandos als root ausführen. So lässt sich z. B. auch ein Dolphin-Fenster mit Root-Rechten öffnen.

Abbildung 2: Unter Linux können Sie jedes Programm mit Root-Rechten starten – Sie müssen dazu nur ein Passwort eingeben.
In der Windows-Welt gibt es das Kommando runas, das Benutzer im Terminalfenster eingeben können, um ein Programm mit den Rechten eines anderen Nutzers auszuführen. Das Tool erfragt beim Aufruf in der Form runas /user:benutzername kommando das Passwort des Benutzers. Das funktioniert aber nicht mit allen Programmen – der Versuch, mit runas /user:u2 explorer ein Explorer-Fenster als Anwender u2 zu öffnen, führt z. B. zu einer Fehlermeldung, das Programm bietet nur an, dauerhaft die Zugriffsrechte zu ändern. Es gibt auch die Möglichkeit, Programme aus dem Startmenü heraus mit Administratorrechten zu starten (Rechtsklick auf den Eintrag, dann Als Administrator ausführen) – mit dem Explorer gelingt aber auch das nicht. Einen alternativen Dateimanager wie FreeCommander nachzuinstallieren, löst das Problem (Abbildung 3).

Abbildung 3: Mit dem Windows Explorer (rechts) ist kein direkter Zugriff auf fremde Home-Verzeichnisse möglich, er startet auch nicht unter einer anderen Kennung. Der mit “runas” gestartete FreeCommander hat dieses Problem nicht.
Fazit
Prinzipiell sind die Konzepte der Benutzer- und Rechteverwaltung bei Linux und Windows gut geeignet, um private Daten zu schützen und das System vor absichtlichen oder versehentlichen Zerstörungen zu bewahren. Linux forciert das, indem es einfache Standardkonten ohne Root-Rechte einrichtet, bei denen jede Verwaltungsarbeit die Eingabe eines Passworts erfordert. Bei Windows ist hingegen der automatisch erzeugte Benutzer ein Administrator (obwohl er den vom Anwender frei gewählten Benutzernamen hat). Hier liegt das Hauptproblem der Windows-Konzeption: Den Microsoft-Entwicklern war der Komfort wichtiger.
Egal wie clever die Benutzerverwaltung eingestellt ist, vor einem Problem kann sie nicht schützen: Wer auf einem PC eine Linux-Live-DVD bootet, erhält unbeschränkten Zugriff auf die Festplattendateien aller Benutzer. Dagegen hilft nur, die Platte oder zumindest die Partition mit den Home-Verzeichnissen zu verschlüsseln.
Vorsicht, Falle!
In der Windows-Welt sind Trojaner eine beliebte Kategorie von Schadsoftware (Malware): Es handelt such um Programme, die kostenlos herunterladbar sind und interessante Features versprechen – die sie oft sogar haben, aber parallel erledigen sie noch eine zweite, unerwünschte Aufgabe. Da unter Windows der Standardanwender Software installieren kann, haben Trojaner-Entwickler leichtes Spiel.
Auch Linux-Anwender sind anfällig für Angriffe, die eine aktive Mitarbeit der Angriffsopfer voraussetzen, bei der diese freiwillig das Administratorpasswort offenbaren.
Programme aus dem Netz mit “sudo” starten
Normale Benutzer dürfen unter Linux nur ihre eigenen Dateien verändern, die systemweiten Dateien sind tabu. Das führt manchmal dazu, dass vermeintlich einfache Aufgaben komplexer werden. Im Internet hat sich in den vergangenen Jahren ein Trend durchgesetzt, der sich gerade an Neulinge im Linux-Bereich richtet: Experten stellen fertige Shell-Skripte zur Verfügung, die Nutzer herunterladen und dann auf dem eigenen System ausführen können. Auslöser kann zum Beispiel sein, dass für eine spezifische Grafikkarte neue, proprietäre Treiber erschienen sind, die Anwender aber häufig mangels Vorwissen nicht problemlos auf ihrem System einspielen können. Damit das Skript aus dem Netz diese Aufgabe wie geplant erfüllen kann, benötigt es die Root-Rechte. Die Webseiten und Blogs, auf denen sich die genannten Skripte finden, enthalten dann häufig Anweisungen, Befehle der folgenden Form einzugeben:
wget http://www.example.com/shellscript.sh -O - | sudo sh
Der Befehl lädt das Skript herunter, speichert es aber nicht, sondern gibt auf der Standardausgabe seinen Inhalt aus. Das wäre normal das Terminalfenster, aber über das Pipe-Zeichen | wird diese Ausgabe an das Kommando sudo sh weitergeleitet. Letzteres führt dann das Skript mit Root-Rechten aus. Hier ist höchste Vorsicht geboten: Die Kommandos in der Skriptdatei laufen mit maximalen Privilegien, sie könnten die Platte formatieren, Dateien auf einen anderen Rechner übertragen oder eine dauerhafte Backdoor installieren.
Skripte von solchen Webseiten sollten Sie nie, wie oben gezeigt, über eine Pipe direkt ausführen. Besser ist es, das Skript herunterzuladen, es zu lesen (und zu prüfen) und es danach von Hand mit sudo auszuführen, wenn Sie es als “gutartig” erkannt haben.
Ständig als “root” arbeiten
Anwender werden, wenn Sie Einstellungen am System ändern, gelegentlich aufgefordert, das Root-Passwort (oder ihr eigenes) einzugeben, weil für das Erledigen der Aufgabe Root-Rechte nötig sind. Das ist z. B. beim Einspielen von Software-Updates nötig.
Manche Benutzer hebeln die Sicherheit, welche das explizite Nachfragen bringt, aus, indem sie sich von Anfang an als root anmelden und permanent mit Root-Rechten arbeiten. Dann hat jede Aktion das Potenzial, das System unbrauchbar zu machen. Manche Distributionen lassen die direkte Anmeldung als root gar nicht mehr zu, andere blenden auffällige Warnmeldungen ein. Wir empfehlen, solche Warnungen ernst zu nehmen: Es gibt keinen guten Grund, die alltäglichen Arbeiten als root zu erledigen.

