Wie genau funktioniert "root"? Werden alle Anwendungen nach dem Rooten als Root auf meinem Telefon ausgeführt?

45

Ich habe über das Rooten des Telefons gelesen, habe jedoch einige begriffliche Zweifel: Wenn Sie ein Android-Telefon von einem Mobilfunkanbieter kaufen, haben Sie keinen Root-Zugriff. Bedeutet das, dass beim Starten des Telefons ein "Benutzerkonto" (wie bei Linux / Mac "/ home / myself") verwendet wird? Gibt es in Android-Handys "/ home / myself" oder ähnliches?

Wenn ich ein Telefon "root" habe, starte ich das Telefon dann beim Einschalten als root? Werden alle Anwendungen jetzt als root ausgeführt? Oder wenn sie versuchen, als root ausgeführt zu werden, muss ich dies zulassen?

Wenn Android im Wesentlichen ein Linux ist, sollte ich dann nicht in der Lage sein, eine Verbindung zum Root- tar -cvzf /Verzeichnis herzustellen , eine vollständige Sicherung durchzuführen und dann irgendwo hin zu scp? Warum sollte ich Nandroid und diese umfassenden Lösungen benötigen?

Jemand verwendet Sie immer noch MS-DOS
quelle

Antworten:

56

Bedeutet das, dass beim Starten des Telefons ein "Benutzerkonto" (wie bei Linux / Mac "/ home / myself") verwendet wird? Gibt es in Android-Handys "/ home / myself" oder ähnliches?

Nein. Android wurde für ein Einbenutzersystem entwickelt und viele Designentscheidungen wurden so getroffen, dass / home / myself nicht mehr existiert. In Android werden die Mehrbenutzerfunktionen des Linux-Kernels verwendet, um die Sicherheit zu verbessern, indem jede Anwendung als eigener Benutzer ausgeführt wird. Daher müssen die Daten jeder Anwendung voneinander isoliert werden.

Wenn ich ein Telefon "root" habe, starte ich das Telefon dann beim Einschalten als root? Werden alle Anwendungen jetzt als root ausgeführt? Oder wenn sie versuchen, als root ausgeführt zu werden, muss ich dies zulassen?

Nein nein ja In modernen Root-Methoden (mit Ausnahme der frühesten) gibt es eine Anwendung namens "Superuser", mit der Anwendungen verwaltet werden, die Root-Zugriff erhalten dürfen.

Da Android Linux ist, bin ich daran interessiert, auf ein Terminal und einige Unix-Dienstprogramme (ssh, rsync usw.) zuzugreifen. Es macht mir nichts aus, eine Bluetooth-Tastatur und vi zu verwenden (um zum Beispiel / etc / hosts zu bearbeiten), wenn nötig. Ist das möglich? Kann ich ein Terminal mit vielen Unix-Dienstprogrammen haben (ich weiß, dass eine Busybox verfügbar ist)?

Ja, es gibt eine Shell (aber keine Bash-Shell). Möglicherweise müssen Sie den Terminal-Emulator installieren, um darauf zuzugreifen (bei einigen benutzerdefinierten ROMs wird er standardmäßig installiert) oder ihn mithilfe von ADB als Remote-Shell verwenden. Da bash nicht verwendet wird, unterscheidet sich das Terminal geringfügig von dem, was Sie in normalen Linux-Distributionen gewohnt sind (insbesondere hat es keine automatische Vervollständigung), und die meisten Shell-Befehle, die Sie als "Standard" betrachten, existieren nicht oder nur existiert in extrem barebone Form.

Wenn Sie das Terminal häufig verwenden, können Sie busybox und bash installieren, um ein vertrauteres Terminalerlebnis zu erzielen. Sie können auch GNU-Userspace-Dienstprogramme installieren, benötigen jedoch ein ziemlich hochwertiges Telefon mit viel Speicherplatz.

Kurz gesagt, was Sie wollen, ist möglich; Obwohl viele der Tools nicht standardmäßig auf Hersteller-ROMs installiert sind. Die Installation all dieser Tools selbst ist sehr aufwändig. Der einfachste und schnellste Weg besteht darin, ein benutzerdefiniertes ROM zu installieren, das Tools wie CyanogenMod bereitstellt.

Wenn Android im Wesentlichen ein Linux ist

Android verwendet einen Linux-Kernel, ist jedoch kein GNU / Linux und verwendet nicht die typischen GNU-Userspace-Programme. Stattdessen wird der Toolbox-Benutzerbereich verwendet, bei dem es sich um einen sehr minimalistischen Benutzerbereich handelt (noch kleiner als bei der Busybox, die Toolbox hat nicht einmal einen CP, Sie müssen stattdessen cat verwenden, um Dateien zu kopieren). Einige benutzerdefinierte Android-ROMs installieren standardmäßig busybox.

Soll ich zum Sichern meines Geräts nicht einfach eine Verbindung zum Root-Verzeichnis herstellen, ein vollständiges tar -cvzf / ausführen und ihnen irgendwo einen scp zuweisen können? Warum sollte ich Nandroid und diese Komplettlösungen benötigen?

Dies ist im Wesentlichen das, was Nandroid macht (genau genommen ist Nandroid Backup eher ein Backup mit dd als mit tar), außer mit einer viel bequemeren GUI. Die meisten Menschen, selbst Power-User, tippen keine komplexen Befehle auf der kleinen Tastatur oder müssen bei jedem Backup eine externe Tastatur anschließen (und 99% der Welt leiden unter einer Terminal-Phobie). Es ist viel einfacher, eine App zu starten und auf eine Schaltfläche zu klicken, um all das für Sie zu erledigen.

Lüge Ryan
quelle
2
"99% der Welt hat eine Terminal-Phobie" - traurig aber wahr. Aber ich bin stattdessen ein Terminal-Liebhaber. Ich möchte immer wissen, welche Befehle hinter der App stehen. Es verarbeitet immerhin meine wertvollen Daten. Ich liebe es, Befehle selbst zu erteilen, besonders als Entwickler.
Mitternacht,
Wie verwendet der OEM Root-Funktionen auf einem nicht gerooteten Gerät?
Shloime Rosenblum