Root: Unterschied zwischen den Versionen

Aus Android Wiki
Zeile 20: Zeile 20:
=== Root für Android ===
=== Root für Android ===


Nun kommen wir aber zum Root unter [[Android]] und wie dieses gewährt wird. Denn die "AndroidManifest.xml"-Datei sieht solch einen Root-Zugriff nicht vor und es gibt dafür auch keinen Befehl, den man da eintragen könnte.<br/>Also, wie kann man einer [[App]] Root Rechte gewähren?<br/>Dazu wird bei dem sogenannten "Rooten" von Android ein Script in den Systempfad gelegt, der es erlaubt, diese Systempartition mit Schreibrechten zu [[Mounten]]. Dafür wird ebenfalls eine [[App]] installiert, die [https://market.android.com/details?id=com.noshufou.android.su&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ub3NodWZvdS5hbmRyb2lkLnN1Il0. Superuser] genannt wird. Das ist die grafische Oberfläche für die Verwaltung von Root-Rechten ("superuser" - Rechte).<br/>Startet der User nun eine [[App]], wird er gefragt, ob er ihr die erforderlichen Root-Rechte gewähren möchte, oder nicht. Die Auswahl lässt sich von der Superuser [[App]] temporär oder dauerhaft für diese App speichern.<br/>In den Einstellungen ist es ebenfalls möglich, nachträglich die Root-Rechte zu ändern. Alle Apps, die mit Root-Rechten arbeiten möchten, sind gezwungen bei der Superuser-App nachzufragen. Somit hat der Benutzer volle Kontrolle über Root-Apps, und ungewolltes Ausführen im Hintergrund ist somit ausgeschlossen.
Nun kommen wir aber zum Root unter [[Android]] und wie dieses gewährt wird. Denn die "AndroidManifest.xml"-Datei sieht solch einen Root-Zugriff nicht vor und es gibt dafür auch keinen Befehl, den man da eintragen könnte.<br/>Also, wie kann man einer [[App]] Root Rechte gewähren?<br/>Dazu wird bei dem sogenannten "Rooten" von Android ein Script in den Systempfad gelegt, der es erlaubt, diese Systempartition mit Schreibrechten zu [[Mounten]]. Dafür wird ebenfalls eine [[App]] installiert, die [https://market.android.com/details?id=com.noshufou.android.su&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ub3NodWZvdS5hbmRyb2lkLnN1Il0. Superuser] genannt wird. Das ist die grafische Oberfläche für die Verwaltung von Root-Rechten ("superuser" - Rechte).<br/>Startet der User nun eine [[App]], wird er gefragt, ob er ihr die erforderlichen Root-Rechte gewähren möchte, oder nicht. Die Auswahl lässt sich von der Superuser [[App]] temporär oder dauerhaft für diese App speichern.<br/>In den Einstellungen ist es ebenfalls möglich, nachträglich die Root-Rechte zu ändern. Alle Apps, die mit Root-Rechten arbeiten möchten, sind gezwungen bei der Superuser-App nachzufragen. Somit hat der Benutzer die volle Kontrolle über Root-Apps, und ungewolltes Ausführen im Hintergrund ist somit ausgeschlossen.
Es erklärt sich von selbst, dass der Benutzer immer kritisch gegenüber Anfragen nach Root-Rechten stehen sollte, um Unerwünschte Effekte zu vermeiden.
Es erklärt sich von selbst, dass der Benutzer immer kritisch gegenüber Anfragen nach Root-Rechten stehen sollte, um Unerwünschte Effekte zu vermeiden.



Version vom 11. November 2011, 19:56 Uhr

Root (engl.: "Wurzel", daher: "Wurzelverzeichnis") bedeutet bei unixoiden Systemen, darunter auch Android, voller Zugriff auf das Betriebssystem und deren Ressourcen. Man hat durch Root-Rechten die volle Berechtigung auf dem System alles ändern und löschen zu können. User mit Root-Rechten nennt man auch "superuser". Unter Android ist der Root-Zugriff standardmäßig deaktiviert und das Arbeiten des Benutzers mit Root-Rechten aus sicherheitstechnischen Gründen nicht vorgesehen.

Root unter Android

Da Android keine Benutzerkontenverwaltung besitzt, wie sie von PC Betriebssystemen bekannt sind, hat der Benutzer somit keine Identität im System. Er wechselt von Anwendung zu Anwendung, denen die erforderlichen Rechte bei der Installation zugesagt wurden. Der Benutzer übernimmt also die Indentität und Rechte von den einzelnen Anwendungen.

Rechteverwaltung Android

Da Android auf dem Linux-Kernel aufbaut, gilt es als ein relativ sicheres Betriebssystem. Aber wie kann es sein, dass ein kleines OS (Operating System, Betriebssystem) sicherer ist, als ein auf dem PC installiertes Windows. Nun, das kommt vor allem auf die Rechteverwaltung in Android an. Um eine App installieren zu können, müssen vor dem Herunterladen aus dem Android Market bestimmte Rechte gewährt werden, die die App zum Arbeiten benötigt. Jede App kann nur auf die Telefonfunktionen zugreifen, die sie auch bei der Installation oder beim Update angegeben hat.

Anfrage nach Superuser Rechten

Der Programmierer legt seiner App eine Datei namens AndroidManifest.xml bei. Diese Datei beinhaltet neben den Informationen zur App auch noch die Berechtigungen, die diese benötigt. Aus dieser Datei übernimmt Android und der Market dann die Berechtigungen, die der Benutzer bestätigen muss. Nehmen wir also an, ein Programmierer für Schadsoftware will, dass die App Zugriff auf das Senden und Empfangen von SMS hat. Dann muss dieser Programmierer dieses Recht in die AndroidManifest.xml eintragen, damit dieses Recht im Telefon gewährt wird. Es ist also nicht möglich, einer App eine Berechtigung zu geben, ohne dieses vorher in die Datei geschrieben zu haben. Durch das Durchlesen der benötigten Rechte kann der User dann entscheiden, ob er diese App installieren möchte oder nicht.

So können verdächtige Berechtigungen identifiziert, und ein sicheres System gewährleistet werden.

Root für Android

Nun kommen wir aber zum Root unter Android und wie dieses gewährt wird. Denn die "AndroidManifest.xml"-Datei sieht solch einen Root-Zugriff nicht vor und es gibt dafür auch keinen Befehl, den man da eintragen könnte.
Also, wie kann man einer App Root Rechte gewähren?
Dazu wird bei dem sogenannten "Rooten" von Android ein Script in den Systempfad gelegt, der es erlaubt, diese Systempartition mit Schreibrechten zu Mounten. Dafür wird ebenfalls eine App installiert, die Superuser genannt wird. Das ist die grafische Oberfläche für die Verwaltung von Root-Rechten ("superuser" - Rechte).
Startet der User nun eine App, wird er gefragt, ob er ihr die erforderlichen Root-Rechte gewähren möchte, oder nicht. Die Auswahl lässt sich von der Superuser App temporär oder dauerhaft für diese App speichern.
In den Einstellungen ist es ebenfalls möglich, nachträglich die Root-Rechte zu ändern. Alle Apps, die mit Root-Rechten arbeiten möchten, sind gezwungen bei der Superuser-App nachzufragen. Somit hat der Benutzer die volle Kontrolle über Root-Apps, und ungewolltes Ausführen im Hintergrund ist somit ausgeschlossen. Es erklärt sich von selbst, dass der Benutzer immer kritisch gegenüber Anfragen nach Root-Rechten stehen sollte, um Unerwünschte Effekte zu vermeiden.

Wofür braucht man Root

Wofür wird denn nun Root unter Android eigentlich gebraucht? Mein Telefon hat doch vorher auch super funktioniert.
Die meisten Dinge, die man unter Android mit Root bewerkstelligen kann, sind rein technischer Natur und sollen die Leistung eines Telefons steigern. Es gibt zwar viele Themes, die sich nur mit Root installieren und verwenden lassen, aber diese sind dann für einen kleinen Teil der Gemeinde geschaffen und sollen eher den Endbenutzer ansprechen. Die beliebteste Funktion, die man nur mit Root erreichen kann, ist die Übertaktung des Prozessors. Meist wird der Prozessor in den Telefonen runtergetaktet, um die lebensdauer der CPU zu schonen. Die volle Leistung fällt dabei natürlich in den Hintergrund und gerade bei älteren Telefonen macht das Übetakten des Prozessors Sinn. Häufig wird aber, um die Leistung des Telefons zu steigern, eine Art Script in das Autostart Verzeichnis init.d im Root des Android Systems kopiert, was dafür sorgt, dass die Verwaltung des Arbeitsspeichers nichtmehr allein durch Android geschieht, sondern durch ein von der Community geschriebenes Script unterstützt wird. Dieses bewerkstelligt, dass auch Datenintensivere Apps besser und geschmeidiger laufen, als es mit dem Stock möglich wäre.

Entgegen landläufiger Meinung ist für das Installieren einer Custom Rom nicht zwingend Root erforderlich. Lediglich der Rom Manager (der in vielen Anleitungen genutzt wird) benötigt Root zum Installieren des Recoveries. Zum Flashen eines Custom Roms wird lediglich S-OFF benötigt. Siehe dazu S-OFF