Bearbeiten · Veränderungen zeigen · Druckansicht ·

Unter fast allen Unix-artigen? Betriebssystemen gibt es einen Benutzer-Account, der eine ganz besondere Rolle in der Systemarchitektur einnimmt.

Dieser Benutzer heißt root (Auf deutsch etwa "Wurzel"). Root ist deswegen so besonders, weil dieser Benutzer den Systemadministrator repräsentiert. Mit anderen Worten: Root hat die Macht auf einem Unix-System.

Der Root-Account soll nicht wie ein gewöhnlicher Benutzer- und Arbeitsaccount verwendet werden. Erste Regel im UNIX-Daily-Business:

Verwende root so selten wie nötig und so kurz wie möglich!

Der Grund hierfür ist Folgender: Dadurch, dass Root in jedem Fall Lese, Schreib und Ausführrechte auf alle Dateien im Dateisystem eines UNIX/Linux hat oder zumindest bekommen kann, ist es ihm möglich - gewollt oder ungewollt - Dateien des Dateisystems zu verändern oder zu löschen. Ein rm -rf * im /-Verzeichnis? ist oft schneller passiert als man denkt, Problem an der Sache ist, dass - was einmal weg ist - unter Unix nie wieder kommt. Daher sollte man die Root-Session? so kurz wie möglich halten.

Hinzu kommt, dass von root gestartete Prozesse und Programme dessen systemweite Rechte erben. Ein laufendes Programm, ein Server zum Beispiel, das von Root gestartet wurde (und nicht eine andere Identität angenommen hat oder gechrootet? wurde), ist also prinzipiell in der Lage auf dem gesamten System rumzuackern, rumzustöbern und Schaden anzurichten, vor allem natürlich dann, wenn jenes Programm Fehler enthält, die es von Außen (oder auch von Innen) verwundbar machen, sodass sich Dritte diese Lücken im Programm und somit die daraus resultierenden Rootrechte (bösartig) zunutze machen könnten!

Wozu soll root dann verwendet werden?

  • Root übernimmt sämtliche administrativen Aufgaben, die im System anfallen und nur global zu lösen sind und das System an sich betreffen
  • Root erstellt, modifiziert und löscht Benutzer und Gruppen auf dem System
  • Root installiert und konfiguriert Software systemweit
    • Wird eine Software nicht systemweit benötigt, dann sollte sie auch nur unter jenem Benutzer installiert werden, für den sie zur Verfügung stehen soll. Dass kann der Benutzer aber selbst erledigen, dafür braucht man keine Rootrechte
  • Root konfiguriert und stellt Hardware, die ans System angeschlossen ist, bereit. (Festplatten, Netzwerkkarten, Grafik, usw..)
  • Root kümmert sich um das Updaten der vorhandenen Software und des Kernels
  • Root kann das System Herunterfahren oder Neustarten
  • Root führt elementare Systemkommandos aus, die das System erst zum Laufen bringen
  • Root startet manchmal gewisse Server, die sich dann aber von selbst in andere Identitäten befördern können
  • ...

Wozu soll root nicht verwendet werden?

  • Um mal kurz etwas zu testen, um mal eben was auszuprobieren
  • Um ein "Permission Denied"- oder "Zugriff verweigert"-Problem auf jeden Fall zu lösen (lieber rauskriegen WARUM diese Fehlermeldung auftaucht!)
  • Um einen Server oder ähnliche nach außen erreichbare Software damit zu starten
  • Um zu chatten (rootchatter? sind böse!)
  • Um im /home-Verzeichnis der Benutzer ohne trifftigen Grund herumzustöbern
    • Um die eigenen Benutzer zu bespitzeln

Wenn ich nicht root benutzen soll, welchen Benutzer dann?

Ganz einfach: Unix ist ein Multiuserbetriebssystem?, das heißt, es kann mehrere Benutzer gleichzeitig bedienen, verwalten, beherbergen. Daher macht es Sinn sich, für die tägliche Arbeit, einen eigenen Benutzer im System anzulegen. Wie das geht erfährst du unter Unixbenutzer anlegen.

Das Homeverzeichnis des Benutzer root, wo er all seine privaten und öfters gebrauchten Dateien unterbringt ist: /root

Bearbeiten · Veränderungen zeigen · Druckansicht ·
Page last modified on November 03, 2005, at 09:39 PM