Bearbeiten von „Root

    Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

    Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

    Aktuelle Version Dein Text
    Zeile 16: Zeile 16:
    === Rechteverwaltung unter Android ===
    === Rechteverwaltung unter Android ===
    [[File:Superuser.png|thumb|Anfrage nach Superuser-Rechten beim [[Wildfire|HTC Wildfire]]]]
    [[File:Superuser.png|thumb|Anfrage nach Superuser-Rechten beim [[Wildfire|HTC Wildfire]]]]
    Da Android auf dem Linux-Kernel aufbaut, verwendet es die bekannten und bewährten Sicherheitsmechanismen des Kernels, bspw. die Rechteverwaltung. Um eine App installieren zu können, müssen vor dem Herunterladen aus dem [[Google Play Store]] 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. Der Programmierer legt seiner App eine Datei namens '''AndroidManifest.xml''' bei. Diese Datei beinhaltet neben den Informationen zur App auch die Berechtigungen, die diese benötigt. Aus dieser Datei übernimmt Android und der Play Store 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 es im Telefon gewährt wird. Es ist also theoretisch nicht möglich, einer App eine Berechtigung zu geben, ohne dieses vorher in der Datei festgelegt zu haben. Durch das Durchlesen der benötigten Rechte kann der Benutzer dann entscheiden, ob er diese App installieren möchte oder es besser bleiben lässt. So können verdächtige Berechtigungen in der App identifiziert und ein sicheres System gewährleistet werden.
    Da Android auf dem Linux-Kernel aufbaut, gilt es als ein relativ sicheres Betriebssystem. Diese hohe Sicherheit wird beispielsweise durch die Rechteverwaltung in Android erreicht. Um eine App installieren zu können, müssen vor dem Herunterladen aus dem [[Google Play Store]] 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. Der Programmierer legt seiner App eine Datei namens '''AndroidManifest.xml''' bei. Diese Datei beinhaltet neben den Informationen zur App auch die Berechtigungen, die diese benötigt. Aus dieser Datei übernimmt Android und der Play Store 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 es im Telefon gewährt wird. Es ist also theoretisch nicht möglich, einer App eine Berechtigung zu geben, ohne dieses vorher in der Datei festgelegt zu haben. Durch das Durchlesen der benötigten Rechte kann der Benutzer dann entscheiden, ob er diese App installieren möchte oder es besser bleiben lässt. So können verdächtige Berechtigungen in der App identifiziert und ein sicheres System gewährleistet werden.


    Mit Hilfe der in Android {{Android|4.3}} eingeführten Funktion [[App Ops]] ist es möglich, Berechtigungen einer installierten App zu entziehen.
    Mit Hilfe der in Android {{Android|4.3}} eingeführten Funktion [[App Ops]] ist es möglich, Berechtigungen einer installierten App zu entziehen.


    === Root für Android ===
    === Root für Android ===
    Die ''AndroidManifest.xml'' besitzt allerdings keine Möglichkeit, einer App die Rechte des Benutzers ''root'' zu gewähren. Rechte des root werden bei Android, wie auch bei anderen Unix-ähnlichen Systemen, mit der Dateiberechtigung ''setuid'' realisiert.<ref>{{Internetquelle|url=http://www.androidnext.de/news/android-4-3-der-tod-der-root-rechte/|titel=Android 4.3: Der Tod der Root-Rechte?|datum=2013-07-29|sprache=de|zugriff=2020-02-02}}</ref> Dieses Bit steuert, ob eine ausführbare Datei mit den Rechten des ausführenden Nutzers (beispielsweise einem für eine App angelegten Nutzer) gestartet wird oder mit den Rechten des Erstellers (bei Systemanwendungen ''root''). Benötigt eine App ''root''-Rechte, bedeutet das meist nicht mehr, als dass diese App ein anderes Programm mit root-Rechten ausführen will. Das funktioniert, indem die App die gewünschte ausführbare Datei über die Binärdatei ''su'' (im Ordner ''/system/xbin'') aufruft, welche als einzige im System das Recht hat, den Befehl setuid() zum Ändern des setuid Bits auszuführen. Damit der Nutzer weiterhin die Kontrolle und Übersicht hat, welche App berechtigt ist, Befehle über ''su'' auszuführen, gibt es eine App zur Verwaltung dieser Rechte. Eine dieser Apps ist beispielsweise [https://supersuroot.org/ SuperSU]. Startet der Nutzer eine [[App]], die ''root''-Rechte verlangt, so wird er gefragt, ob er ihr diese 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 berechtigten Apps zu ändern. Ein ungewollter Zugriff auf einen Befehl über ''su'' (und damit mit ''root''-Rechten) wird somit erschwert.
    Die ''AndroidManifest.xml'' besitzt allerdings keine Möglichkeit, einer App die Rechte des Benutzers ''root'' zu gewähren. Rechte des root werden bei Android, wie auch bei anderen Unix-ähnlichen Systemen, mit der Dateiberechtigung ''setuid'' realisiert<ref>http://www.androidnext.de/news/android-4-3-der-tod-der-root-rechte/</ref><ref>http://cjix.info/blog/featured/how-rooting-works-a-technical-explanation-of-the-android-rooting-process/</ref>. Dieses Bit steuert, ob eine ausführbare Datei mit den Rechten des ausführenden Nutzers (beispielsweise einem für eine App angelegten Nutzer) gestartet wird oder mit den Rechten des Erstellers (bei Systemanwendungen ''root''). Benötigt eine App ''root''-Rechte, bedeutet das meist nicht mehr, als dass diese App ein anderes Programm mit root-Rechten ausführen will. Das funktioniert, indem die App die gewünschte ausführbare Datei über die Binärdatei ''su'' (im Ordner ''/system/xbin'') aufruft, welche als einzige im System das Recht hat, den Befehl setuid() zum Ändern des setuid Bits auszuführen. Damit der Nutzer weiterhin die Kontrolle und Übersicht hat, welche App berechtigt ist, Befehle über ''su'' auszuführen, gibt es eine App zur Verwaltung dieser Rechte. Eine dieser Apps ist beispielsweise {{MarketLink|eu.chainfire.supersu|SuperSU}}. Startet der Nutzer eine [[App]], die ''root''-Rechte verlangt, so wird er gefragt, ob er ihr diese 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 berechtigten Apps zu ändern. Ein ungewollter Zugriff auf einen Befehl über ''su'' (und damit mit ''root''-Rechten) wird somit erschwert.


    Selbstverständlich muss der Benutzer immer kritisch Anfragen nach ''root''-Rechten gegenüberstehen, um unerwünschte Effekte zu vermeiden.
    Selbstverständlich muss der Benutzer immer kritisch Anfragen nach ''root''-Rechten gegenüberstehen, um unerwünschte Effekte zu vermeiden.
    Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
    Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

    Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

    Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

    In dieser Seite verwendete DroidWiki Data-Objekte