Was genau passiert beim rooten?

  • Antworten:33
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 293

03.12.2011, 19:04:44 via Website

Halli hallo,

ich habe schon mehrere G1 sowie ein Xperia x10 mini pro gerootet. Allerdings immer nach irgendwelchen Anleitungen nach dem Schema "klicke hier, klicke dort". Jetzt möchte ich genau wissen, was beim rooten passiert, weil ich mir ein Tablet bestellt habe, für das es noch keine Root-Anleitung gibt.
Ich weiss bisher nur, dass die Superuser.APK als System-App installiert werden muss (liege ich da überhaupt richtig? :D). Aber was genau tut die?
Ich möchte mich da ein bißchen einlesen, finde aber nichts, was allgemein gehalten ist.

Gruß Ulf

Antworten
  • Forum-Beiträge: 165

04.12.2011, 10:06:05 via Website

Root ist nichts anderes, wie die Administrator-Rechte auf Windows Computern. Bei Linux, eben auch Android, spricht man von Root. Das mit der , Superuser.apk ist so: Wenn du auf einem Windows-PC eine Anwendung als Administrator ausführst, bekommst du eine Meldung, die bestätigen musst, damit dieses Programm ausgeführt wird. Bei Android übernimmt diese “Administrator-Abfrage“ die Superuser.apk.

Hoffe es ist verständlich...

Antworten
  • Forum-Beiträge: 293

04.12.2011, 10:24:14 via App

Hallo! Danke. Aber soweit weiss ich das auch schon. Ich wollte vielmehr wissen, wohin der superuser installiert werden muss und was noch gemacht werden muss. Z.B. hoere ich immer wieder BusyBox. Habe die auch schon mehrmals installiert aber ich weiss immer noch nicht genau was die nun macht. Ich will mich also so weit schlau lesen, dass ich Geraete ohne Anleitung rooten kann. ;-)

Antworten
  • Forum-Beiträge: 3.112

04.12.2011, 11:20:40 via Website

BusyBox bietet verschiedene Dienste, die dann zB von Superuser ausgeführt werden können. Die Superuser App wird ganz normal als System-App installiert.
Aber alleine BusyBox und Superuser reicht nicht aus. Ich vermute mal, dass man noch einen Superuser einrichten muss. In jeden Fall muss man sich erst mal Zugriff auf die entsprechenden Bereiche verschaffen.

Antworten
  • Forum-Beiträge: 293

04.12.2011, 13:07:15 via App

Also gehen wir mal davon aus, dass ich so schreibezugriff aufs System habe. Reicht dann "adb push superuser.apk /system/app" und dann bin ich root nach dem Reboot?

Antworten
  • Forum-Beiträge: 293

04.12.2011, 13:23:02 via Website

Also ich möchte ein Gerät rooten - für ein ähnliches Gerät gibt es ein Bat-Script zum rooten.
Das möchte ich verstehen und auf mein Gerät übertragen.

Script ist für mobii Play Tab 2
Mein Gerät ist ein mobii Pro Tab 2





Hier ein Teil vom Code. Ich möchte wissen, was die Befehle machen (echo ist mir klar :D nur die adb-Commands ;-) )
Was ich schonmal verstanden habe, habe ich kommentiert. Spezielle fragen habe ich auch kommentiert
1:root
2cls
3echo Running ROOT Script
4adb root //Als Root mit dem Device verbinden
5adb remount //Remount ist für den Zugriffs auf Dateisystem nötig oder?
6echo '
7echo push Superuser.apk /system/app/Superuser.apk
8adb push Superuser.apk /system/app/Superuser.apk //Superuser als System-App installieren richtig?
9echo push su /system/bin/su
10adb push su /system/bin/su //su ist eine Datei, die beim Script dabei ist. Ist das der eigentliche User?
11echo push su /system/xbin/su
12adb push su /system/xbin/su //und weshalb muss das hier nochmal hin?
13
14echo '
15echo adb shell chown 0.0 /system/xbin/su
16adb shell chown 0.0 /system/xbin/su //lege ich mit chown den besitzer der Datei fest?
17echo adb shell chmod 6775 /system/xbin/su
18adb shell chmod 6775 /system/xbin/su //und hiermit die Berechtigungen? Was ist 6775? Ich kenne das nur 3-Stellig :-/
19echo adb shell ln -s /system/xbin/su /system/bin/su
20adb shell ln -s /system/xbin/su /system/bin/su //hiermit kann ich gar nix anfangen :-(
21
22echo '
23echo Installing Root Checker
24adb install com.joeykrim.rootcheck.apk //RootChecker installieren. Soweit klar
25echo Installing Busybox
26adb install stericson.busybox.apk //Busybix installieren. auch klar
27echo '
28echo Done.
29pause
30goto start
31
32:market
33cls
34echo Logging in as ROOT User
35adb root
36adb remount
37echo '
38echo Upgrading Android Market
39adb push Vending.apk /system/app/Vending.apk //Vending.apk ist der Market oder?
40echo '
41echo Done.
42echo Thanks! ContemptX!
43pause
44goto start

Ich hoffe ihr könnt mir jetzt helfen :-D

— geändert am 04.12.2011, 13:23:45

Antworten
  • Forum-Beiträge: 788

04.12.2011, 14:58:50 via Website

Mach doch einfach mal die "SU" im Texteditor auf und schau mal rein.

Berechtigungen kann man entweder 3- oder 4-stellig angeben - da gibts im Internet einiges zum Nachlesen ;)

Der Befehl "ln" setzt Links im System.

Antworten
  • Forum-Beiträge: 293

04.12.2011, 15:07:21 via Website

Die Datei su ist leider binär. Da erkenne ich nicht sehr viel mit dem Editor :-D
Und was genau macht der Link?

Aber danke schonmal!

Antworten
  • Forum-Beiträge: 788

04.12.2011, 15:14:52 via Website

Ulf
Die Datei su ist leider binär. Da erkenne ich nicht sehr viel mit dem Editor :-D
Und was genau macht der Link?

Aber danke schonmal!

Ich kenn mich zwar im Allgemeinen schon relativ gut aus - aber das geht auch für mich zu tief in die Materie ;)

Ich nehme an, das is so eine Art Symlink - so dass die Datei eventuell an zwei Stellen im System gebraucht wird, aber durch einen Link nicht nochmal kopiert werden muss.
Sowas ähnliches passiert auch bei app2sd - wo die ext Partition als erweiterte System-Partition verlinkt wird.

Antworten
  • Forum-Beiträge: 3.112

04.12.2011, 15:15:52 via Website

SU ist das kleine Programm, welches wiederum andere Programme als root ausführt.
Die Berechtigung 6775 hat glaub ich etwas mit Setuid zu tun, also dass ein normaler Benutzer ein Programm ausführen kann, welches wiederum Root-Rechte hat.

Der Befehl push kopiert die Datei in das Verzeichnis. Damit ist im Prinzip das Paket auch schon installiert.

Lord Knut

Antworten
  • Forum-Beiträge: 293

04.12.2011, 15:18:59 via Website

Danke! Hilft auf jeden Fall weiter!

Antworten
  • Forum-Beiträge: 293

04.12.2011, 15:20:27 via Website

Ben A.
Ulf
Die Datei su ist leider binär. Da erkenne ich nicht sehr viel mit dem Editor :-D
Und was genau macht der Link?

Aber danke schonmal!

Ich kenn mich zwar im Allgemeinen schon relativ gut aus - aber das geht auch für mich zu tief in die Materie ;)

Ich nehme an, das is so eine Art Symlink - so dass die Datei eventuell an zwei Stellen im System gebraucht wird, aber durch einen Link nicht nochmal kopiert werden muss.
Sowas ähnliches passiert auch bei app2sd - wo die ext Partition als erweiterte System-Partition verlinkt wird.

Ist es denn normal, dass su kopiert werden muss oder ist es nur beim Playtab so? Was genau SuperOneClick gemacht hat, sehe ich ja immer nicht :-/

Antworten
  • Forum-Beiträge: 3.112

04.12.2011, 15:24:54 via Website

Wenn su noch nicht vorhanden ist, dann muss diese natürlich angelegt werden, ansonsten kannst Du als normaler Benutzer keine Programme oder Script mit Root-Rechten ausführen.

Mit ln -s /system/xbin/su /system/bin/su wird aber lediglich ein Link erzeugt. Dieser Links verhält sich dann so, als ob man /system/bin/su aufrufen würde.

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.068

04.12.2011, 15:26:08 via App

su steht für Substitute User. Damit kann man sich unter Unix-Systemen als anderer User als der angemeldete ausgeben. Übergibt man su keinen Usernamen als Parameter, wird man root (also der Administrator unter Unix)

Der User Root ist unter Android immer vorhanden. Man kann sich aber nicht mit diesem anmelden. Mit der su-Binary ist das möglich.

Busybox ist ein Minilinux und wird häufig in Embedded Systemen verwendet. Es stellt Befehle bereit, die Android in Endanwendergeräten nicht hat.

— geändert am 04.12.2011, 15:28:20

Die Tatsache, dass ich paranoid bin, heißt noch lange nicht, sie seien nicht hinter mir her!

Lord Knut

Antworten
  • Forum-Beiträge: 3.112

04.12.2011, 15:31:18 via Website

Der Benutzer selbst ist aber deswegen nicht root. Das Programm su hat root-Rechte und kann deshalb Dateien als root ausführen.

Ob man sich als root anmelden kann, dürfte vom Gerät abhängig sein. Bei dem Gerät für das das obere Script gedacht ist kann man sich als root einloggen, wie man sieht.

— geändert am 04.12.2011, 15:31:52

Lord Knut

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.068

04.12.2011, 15:44:55 via Website

Andy N.
Der Benutzer selbst ist aber deswegen nicht root.

Bitte??? Dann gib mal unter Linux auf der Konsole whoami vor und nach Aufruf von su ein! Leider habe ich noch kein whoami für Android gefunden, aber Linux geht ja wegen der Verwandtschaft auch.

Übrigens: su unter Android ist kastriert. Normalerweise bedeutet ein Aufruf "su root" man behält seine Umgebungsvariablen bei, die man vor dem Aufruf hatte. Dahingegen ändert ein "su - root" die Systemumgebung komplett auf die von root. Analog für root kannst Du jeden Benutzernamen eintragen, für den eine gültige Shell eingetragen ist.

Andy N.
Das Programm su hat root-Rechte und kann deshalb Dateien als root ausführen.

Wenn ein Programm Root-Rechte hat, muss der Root-User auch vorhanden sein.

Andy N.
Ob man sich als root anmelden kann, dürfte vom Gerät abhängig sein. Bei dem Gerät für das das obere Script gedacht ist kann man sich als root einloggen, wie man sieht.

Ich hätte schreiben sollen "nicht mit Hausmitteln anmelden". Auf jedem Gerät kann ich Root-Rechte erlangen. Die Frage ist nur, wie schwer mir das gemacht wird.

Die Tatsache, dass ich paranoid bin, heißt noch lange nicht, sie seien nicht hinter mir her!

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.068

04.12.2011, 15:45:46 via Website

Simon V
Ist dieser substitute user dasselbe wie der superuser?

Nein! Superuser ist root. Substitute User ist ein Systemprogramm.

Nachtrag: Leider übersetzen viele su fälschlicherweise mit SuperUser.

— geändert am 04.12.2011, 15:46:34

Die Tatsache, dass ich paranoid bin, heißt noch lange nicht, sie seien nicht hinter mir her!

Antworten

Empfohlene Artikel