in Aufklärungsthread
Root-Zugriff
Was bedeutet Root-Zugriff?
Root ist in einem Linux/Unix-System die "Wurzel" allen Übels, der Administrator, der das System aufsetzt, unterhält und für seine Sicherheit und Stabilität sorgt. Er hat vollen Zugriff, er kann alles, darf alles und kann damit auch viel Schaden anrichten. Im Allgemeinen läuft das Sicherheitsmodell unter Linux darauf hinaus, dass das System aufgesetzt wird und nur bei Updates, Treibern für neue Geräte oder ähnlichen tiefgreifenden Eingriffen auf den Root-Account zugegriffen wird. Die restlichen User des Systems haben ausreichende Berechtigungen, um Ihrer Arbeit nachzugehen, ohne sich Gedanken machen zu müssen etwas kaputt machen zu können.
Wie bekommt man Root(-Zugriff)?
Wenn man selbst ein Linux aufgesetzt hat, weiß man das Root-Passwort, kann also bei bedarf in dieses Konto wechseln, seine Arbeit tun und dann wieder mit einem normalen Useraccount weiterarbeiten. Wenn es ein Fremdsystem ist, hat man diese Infos nicht und wird sie von einem verantwortungsbewussten Admin auch nicht bekommen. Man kann das System damit in dessen Rahmen nutzen, nicht mehr und nicht weniger. Wenn man Features benötigt muss man den Admin fragen, ob er sie nachrüstet.
Warum braucht man Root(-Zugriff)?
Wenn ein bestimmtes Programm installiert werden soll, was in Systemverzeichnisse eingreift, ein Treiber aktualisiert werden soll, oder ein Serverdienst laufen soll, braucht man die Berechtigungen, welche die Sicherheit und Stabilität des Systems sichern. Für die Nutzung installierter Anwendungen ist nie ein Root-Zugriff nötig. Die unter Windows bekannte Tradition, dauerhaft als Administrator angemeldet zu sein ist unter Linux eine Unsitte und oftmals weder vorgesehen noch erlaubt (bei Ubuntu hat das root-Konto ein unbekanntes Passwort, um ein Login mit diesem Account zu vermeiden).
Für wen ist Root(-Zugriff) notwendig?
Für User, welche vorhandenes nutzen und mit dem Funktionsumfang zufrieden sind, ist kein Rootzugriff notwendig. Jemand, der gern experimentiert und sich unter Linux auskennt, sowie gern in unbekannte Linux-Welten vorstößt, ist es riskant aber interessant. Solch jemand weiß, wie er eventuell auftretende Fehler vermeidet und sich so absichert, um im Worst Case wieder zu einem funktionierenden Zustand zurückkehren zu können.
Root unter Android - ein Überblick
Das Android-Sicherheitsmodell ordnet jedem Bereich des Systems einen eigenen Benutzer zu. So ist zum Beispiel der Android-Systemprozess berechtigt, die Systemeinstellungen zu verändern, wie etwa die Wlan-Konfigurationsdatei. Eine Anwendung wiederum darf auf den eigenen Cache zugreifen, Konfigurationsdateien anlegen und verändern, aber alles im Rahmen des der Anwendung gewährten Umfeldes. Dazu haben diese Zugriff auf Speicherschnittstellen. Außerhalb dieser Schnittstellen enden diese Berechtigungen. Eine Anwendung kann somit z.b. nicht auf die Benutzerinformationen einer anderen zugreifen, oder eine andere Anwendung beenden, essei denn diese Anwendung bietet für genau diesen Zweck eine API.
Der Nutzer eines Android-Systems hat kein Benutzerkonto, er hat immer die Berechtigungen der Anwendungen die er gerade nutzt.
Aufgrund dieser Berechtigungen gibt es einige Einschränkungen, dafür einige Beispiele:
Es ist nicht möglich mit einem Taskmanager Prozesse zu beenden, um etwa Speicher zu sparen
Es ist nicht möglich etwa von Hand die Wlan-Konfiguration zu verändern, um Profile zu nutzen, welche das Interface nicht unterstützt
Es ist nicht möglich, im Systemverzeichnis Änderungen vorzunehmen, da dieses read-only, also schreibgeschützt ist. Es können also keine Alternativen oder veränderte Varianten der Systemanwendungen (Im Systemverzeichnis) installiert werden
Es ist nicht möglich, protected Apps zu sichern.
Es ist nicht möglich, Anwendungen auf die SD-Karte auszulagern, da die Berechtigungen zum Verschieben dieser Verzeichnisse fehlen.
Die Veränderungen, die einige Varianten der Android-Firmware von Größen wie JesusFreke, Dude und Haykuro mit sich bringen, bedingen nicht zwangsläufig root. Der HTC Dialer oder der PDF Reader brauchen keinen Rootzugriff um zu funktionieren. Der Bequemlichkeit halber und um weitere Updates zu ermöglichen ist der rootzugriff aber freigeschaltet.
Jedoch gibt es hier ein ähnliches Sicherheitskonzept wie bei Linux:
Wenn eine Anwendung Zugriff auf root (den Superuser: su) fordert, wird das nicht per se erlaubt. Dazu gibt es in den meisten Builds eine Zusatzanwendung namens Superuser Access, die den Benutzer fragt ob eine Anwendung, wenn Sie Zugriff erbittet, diesen auch bekommt. Dies dient dazu, zu verhindern dass Anwendungen hinter dem Rücken des Benutzers agieren und Passwortschnüffler und ähnliche Schadsoftware auszuschließen. Daher ist es wichtig, solche Abfragen immer kritisch zu sehen und zu überlegen, wozu die aktuelle Anwendung wohl den Zugriff braucht.
Auf Useranfrage eine kleine Zusammenstellung der Programme / Features / Hacks, welche ohne rootzugriff nicht umsetzbar sind:
Anwendungen und Daten auf die SD-Karte auslagern
-> Diverse Firmwares unterstützen das mit eingebauten Skripten, es gibt ein Programm im Market. Alternativ kann man es auch von Hand mit ein paar Eintragungen und Symlinks machen.
Wifi-Tethering
-> android-wifi-tether - Google Code
Bluetooth-Tethering
->
Systemdateien durch modifizierte mit mehr Features ersetzen, z.b. Browser mit Multitouch und Auto-Rotate
-> Bei den meisten Firmwares schon eingebaut
Debian installieren (vielmehr parallel ausführen), inkl. Support für X-Server, aber unterirdische Performance
-> Installing Debian + Gnome, KDE, IceWM or LXDE Desktop on your rooted G1! - xda-developers
Komplett-Backups des Telefon-Flashs mit NANDROID
-> Nicht direkt eine Konsequenz der Root-Berechtigung als vielmehr ein Feature des bei vielen modifizierten Firmwares enthaltenen und als erster Schritt beim Rooten verwendeten Recovery-Images
-> Nandroid v2.0 - Full NAND backup and restore tool (tried and tested!) - xda-developers
Systemschriftart ersetzen (per update.zip oder von Hand via Remount und Ersetzen der relevanten TTF-Files)
-> [Theme] Modified Deep Black Theme RC33 (Updated 02-08-2009) - xda-developers
Eigenes Boot-Image (wird beim Einschalten angezeigt) einspielen (Konsequenz aus modifiziertem SPL mit fastboot (engineering oder Hard))
-> Custom boot image - xda-developers
Themes installieren
-> Themes sind modifizierte Ressourcendateien der Firmware, welche durch eine Update.zip eingespielt und die Originaldateien ersetzt werden. Daher sind diese auch Buildabhängig und müssen für jede neue Build- und Firmware-Mod-Version neu portiert werden
-> Dream themes and wallpapers - xda-developers
Wenn es also um die Frage geht, root oder nicht (bzw. modifizierte Firmware / ADP-Image oder nicht), fragt euch ob ihr o.g. Features wirklich benötigt. Alle bergen die Gefahr das System instabil zu machen oder gar wipen und die Firmware neu installieren zu müssen. Das Telefon zu "bricken", d.h. den Funktionumfang durch Zerstörung des Bootloaders an den eines Ziegelsteins anzupassen ist z.b. mit dem Magic-SPL möglich, aber unwahrscheinlich. Dennoch ist Vorsicht geboten.
Für was gibt es Root-Server?
Root-Server werden meistens von Administratoren gemietet, die spezielle Software laufen lassen wollen oder viel Rechenpower benötigen. Man kann den Server mit einer bestimmten Konfiguration anmieten (CPU, Ram) um so bei seinen Anwendungen Lastprobleme zu vermeiden. Große Onlineshops würden nicht auf einem Webspace oder kleinen vServer laufen. Hierfür ist dann ein eigener Server notwendig, auf dem der Administrator eigene Einstellungen vornehmen kann, die es evtl. auf einem Webspace nicht geben würde.
lg. JoKaiR