Die Woche: Linus' Tochter

Linus Torvalds schimpft über Linux, weil ihn seine Tochter nach dem Root-Passwort fragen muss, um an ihrem Notebook einen Drucker einzurichten. Vielleicht passt das von Unix geerbte Multiuser-Modell heute nicht mehr?

In Pocket speichern vorlesen Druckansicht 234 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Dr. Oliver Diedrich

Linus Torvalds hat sich auf Google Plus bitter über OpenSuse beklagt: Seine Tochter hätte ihn aus der Schule anrufen müssen, weil die Einrichtung des Schuldruckers auf ihrem Macbook Air mit OpenSuse nach dem Root-Passwort fragt. In seiner gewohnt deutlichen Art schreibt Torvalds, dass es bescheuert ist, für banale, alltägliche Aktionen wie das Einstellen der Zeitzone, das Verbinden mit einem Netzwerk oder eben das Einrichten eines neuen Druckers das Root-Passwort zu verlangen. Für Leute, die das aus Sicherheitsgründen so konfigurieren, hat er einen Rat: "Bringt euch gleich um. Die Welt wird dadurch ein besserer Ort". Und weil die Beschwerde von Torvalds kommt, gibt es hunderte Kommentare, die überwiegend ins gleiche Horn stoßen, und ein großes Echo in den Newstickern dieser Welt.

Das Problem, das Torvalds anreißt, ist eine Folge der zwei Seelen in Tux: Einerseits ist Linux als Abkömmling stolzer Unix-Server ein echtes Mehrbenutzersystem; andererseits steht Linux in der Tradition der PC-Betriebssysteme, die dem Nutzer volle Kontrolle über seinen persönlichen Computer gewähren.

Die Multiuser-Tradition bedingt, dass kein Anwender irgendetwas tun darf, was einen anderen User auf dem System beeinträchtigen könnte; beispielsweise neue Software installieren, bestehende User-Accounts löschen oder eben Drucker einrichten und entfernen. All das bleibt in der Unix-Tradition dem Root-Account vorbehalten. PC-Betriebssysteme hingegen sind traditionell auf genau einen User ausgelegt, der mit dem Rechner tun darf, was immer er will, und den man höchstens vor der eigenen Schusseligkeit schützen muss.

Der simple Kompromiss zwischen den Welten besteht darin, sich unter Linux als Root anzumelden. Dann darf man alles – auch mit einem falsch platzierten Leerzeichen wie in "rm -rf / home/foo/tmp/*" ohne Rückfrage die ganze Platte putzen.

Die moderne Variante dieses Ansatzes heißt sudo: Man trägt den ersten User, der bei der Installation des Systems angelegt wird, mit der Zeile "ALL=(ALL) ALL" in /etc/sudoers ein. Anschließend darf dieser User alles, was Root vorbehalten ist, muss dazu aber nicht das Root-Passwort, sondern nur sein eigenes Passwort eingeben. Ubuntu beispielsweise realisiert über das eine eigene Gruppe admin; beim Anlegen eines neuen Users kann man entscheiden, ob er die "licence to sudo" kriegt (also der Gruppe admin angehört) oder nicht.

Das Problem von Linus Torvalds und seiner Tochter löst sudo allerdings nicht – auch dieser Ansatz unterscheidet lediglich zwischen "darf alles" (mit sudo) und "darf nichts" (ohne sudo). Was Torvalds will, ist aber ein System, das kritische Aktionen nur ihm erlaubt, banale Systemkonfigurationsjobs wie das Einrichten von Netzwerkverbindung oder Drucker aber auch seiner Tochter. Oder, um nicht nur über Linus und Daniela zu sprechen: Alles, was die Integrität des Systems gefährdet, darf nur die IT-Abteilung tun, den neuen Drucker einrichten aber auch der einfache User (man denke etwa an den Außendienstler, der vor Ort beim Kunden etwas ausdrucken möchte).

Was man will, ist, dass jeder Nutzer einen Drucker anlegen, aber die von anderen Usern angelegten Drucker nicht entfernen darf. Dass man einen Treiber für die USB-Soundkarte laden, aber nicht das System durch erzwungenes Entladen eines wichtigen Treibers zum Absturz bringen darf. Dass man Programme installieren, aber die Datei /usr/bin/git nicht löschen darf.

Mit den klassischen Unix-Mechanismen – Zugriffsrechte auf User- und Gruppenbasis, POSIX Capabilities – ist das vermutlich nicht so einfach zu realisieren. Aber Linux ist längst weiter: Es gibt erweiterte Dateiattribute, Mandatory Access Control mit SELinux und Co., Dienste wie PolicyKit. Was fehlt, ist ein Benutzermodell: Der klassische Multiuser-Ansatz von Unix ist nicht für PCs und Notebooks erfunden worden, die im Wesentlichen von einer Person benutzt und von jemand anderem "grund-administriert" werden.

Da kommt sogar das Modell von Android besser hin: Der Benutzer darf die Zeitzone ändern, das Gerät mit einem neuen Netzwerk verbinden, einen Netzwerkdrucker einrichten und sogar beliebige Software installieren – trotzdem kann er den Kernel nicht löschen, beeinträchtigt die Installation einer App nicht die Funktionsweise der anderen Apps, macht das Verkonfigurieren des WLANs das Gerät nicht unbrauchbar.

Wenn Linus' Tochter mit ihrem Notebook all das tun kann, was mit einem Android-Gerät geht, wäre schon ziemlich viel in Ordnung. Nur der Root-Zugang für Linus müsste natürlich noch nachgerüstet werden. (odi)