Was genau passiert beim rooten?

  • Antworten:33
Ulf
  • 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
typischAndy
  • 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
Ulf
  • 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
Andy N.
  • 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
Ulf
  • 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
Ulf
  • 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
Ulf
  • Forum-Beiträge: 293

04.12.2011, 13:24:23 via Website

Sorry für die Formatierung -.-

Antworten
Ben A.
  • 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
Ulf
  • 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
Ben A.
  • 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
Andy N.
  • 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
Ben A.
  • Forum-Beiträge: 788

04.12.2011, 15:17:18 via Website

Ach ja: vending.apk is der Market ;)

Antworten
Ulf
  • Forum-Beiträge: 293

04.12.2011, 15:18:59 via Website

Danke! Hilft auf jeden Fall weiter!

Antworten
Ulf
  • 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
Andy N.
  • 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
Andy N.
  • 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
sothio
  • Forum-Beiträge: 10.414

04.12.2011, 15:44:33 via Website

Ist dieser substitute user dasselbe wie der superuser?

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
sothio
  • Forum-Beiträge: 10.414

04.12.2011, 15:52:25 via Website

Ralph
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.

Ah, danke! Wieder was gelernt. Dass diese falsche Übersetzung in der Android-Szene verbreitet ist liegt wohl daran dass die Android-App "SuperUser" heisst.

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

04.12.2011, 16:02:04 via Website

Root ist übersetzt die Wurzel. Daher wird auch im Dateisystem von der Wurzel gesprochen (Verzeichnis /). Um Diese beiden Begriffe zu unterscheiden, spricht man vom Superuser root. Außerdem kann man auch den Superuser urknall nennen. Nur hat man dann viiieeel Arbeit, um seine Distribution anzupassen.

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

Antworten
Andy N.
  • Forum-Beiträge: 3.112

04.12.2011, 16:14:05 via App

Ralph
Bitte??? Dann gib mal unter Linux auf der Konsole whoami vor und nach Aufruf von su ein

Na klar, dann läuft aber su dem Du den Befehl weiter gibst. Su hat die root-Rechte.
Das ist ja gerade der Gag an su, dass der Anwender selbst keine Root-Rechte bekomnt. Ansonsten könnte man sich su sparen und sich gleich als root einloggen.

— geändert am 04.12.2011, 16:15:50

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

04.12.2011, 16:42:03 via Website

Unsere Diksussion geht an der Frage des TE mittlerweile vorbei.

Andy N.
Na klar, dann läuft aber su dem Du den Befehl weiter gibst. Su hat die root-Rechte.
Das ist ja gerade der Gag an su, dass der Anwender selbst keine Root-Rechte bekomnt. Ansonsten könnte man sich su sparen und sich gleich als root einloggen.

Dennoch muss ich Dir hier widersprechen. Du scheinst sudo zu meinen. su öffnet eine Subshell. Wenn Du in dieser Subshell als root angemeldet bist, bist Du root.

Im Übrigen ist su durchaus sinnvoll. Remote-Login als root erlauben, grenzt ja schon an Sabotage!

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

Lord Knut

Antworten
Ulf
  • Forum-Beiträge: 293

04.12.2011, 17:06:27 via Website

Okay. Ich denke das reicht aus, um das Gerät zu rooten. Morgen kommt es an - ausgepackt wirds aber erst Dienstag. Wenn ich es rooten kann, behalte ich es, wenn nicht, dann geht es zurück :-D

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

04.12.2011, 17:24:47 via Website

Wurden Diese Fragen schon beantwortet?

Ulf
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 :-

Zu Zeile 18:
Die dreistellige Schreibweise ist nur eine Kurzform und beschränkt sich auf die rechten drei Stellen. Die linke Stelle beschreibt zusätzliche Rechte wie:
- Ist das Sticky-Bit gesetzt
- Ist SetUid oder SetGid gesetzt.

Für Details befrage Google und Wikipedia doch nach diesen Begriffen. Sonst wird es lang.

In Zeile 20 wird ein Symbolischer Link angelegt. Die sind vergleichbar mit Verknüpfungen unter Windows. Mache Programme erwarten su halt unter /system/bin, andere unter /system/xbin und so kann man beide bedienen, ohne su zweimal installieren zu müssen.

— geändert am 04.12.2011, 17:25:03

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

Antworten
Ulf
  • Forum-Beiträge: 293

04.12.2011, 17:35:05 via Website

Aber su wird doch nach xbin und nach bin kopiert laut dem Script. Kann man sich das dann nicht sparen?
Und was machte chown noch gleich?

Edit:Okay. Chown verrät mir google noch. Aber welcher User ist denn nun der 0.0? Der Standard-Login oder der root?

— geändert am 04.12.2011, 17:37:15

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

04.12.2011, 17:47:35 via Website

Ulf
Aber su wird doch nach xbin und nach bin kopiert laut dem Script. Kann man sich das dann nicht sparen?

Ja, kann man, wobei ich die Zeile 10 weglassen würde.

Ulf
Edit:Okay. Chown verrät mir google noch. Aber welcher User ist denn nun der 0.0? Der Standard-Login oder der root?

Jeder User hat eine numerische User-ID. Jede Gruppe hat analog eine numerische Gruppen-ID. Die Nummern können jeweils aus der Range von 0 bis 65535 sein. 0 bei der User-ID ist der User root. 0 Bei der Gruppe ist die Gruppe root. Also pronzipiell kannst Du einem User ulf mit der User-ID 1000 der Gruppe root mit der Gruppen-ID 0 zuordnen und schon hat ulf auch root-Rechte.

OK: Nicht ganz! Für einen Vollzugriff müssen die Datei- und Verzeichnisrechte root zugeordnet sein und die Rechte Read, Write und Execute (bei Verzeichnissen und ausführbaren Dateien) gesetzt sein (ausgedrückt durch eine 7 oder 6 an 2. Stelle von rechts)

chown = Change Owner (also Besitzer oder Eigentümer einer Datei/eines Verzeichnisses)
chgrp = Change Group (also Gruppenzugehörigkeit einer Datei/eines Verzeichnisses)
chmod = Change Mode (1 = Ausführungsrecht, 2 = Schreibrecht, 4 = Leserecht)

Die Summe 7 heißt also: alle Rechte
Die Summe 5, man darf Dateien lesen und ausführen aber nicht verändern uns.
Die Summe 6 ist analog 7, aber man kann die Datei nicht ausführen
Die Summe 4 ist analog 4, aber man kann die Datei nicht ausführen

Wie gesagt: Das erste Bit links behandelt Sonderrechte.

— geändert am 04.12.2011, 17:53:58

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

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

04.12.2011, 17:53:28 via App

Ulf
Aber welcher User ist denn nun der 0.0?

beim chown kann man nicht nur die userid angeben, sondern durch einen Punkt getrennt (bei manchen Unixen auch ein ':') noch die groupid. Den Klartext kann man sich auch sparen wenn man den numerischen Wert kennt...und der ist beim root immer 0. Bei der root-Groupid ebenso.

Statt "chown root.root" geht also auch "chown 0.0"

Gruß vom root
;-)

if all else fails, read the instructions.

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

04.12.2011, 17:54:59 via Website

Ralph
Ulf
Aber su wird doch nach xbin und nach bin kopiert laut dem Script. Kann man sich das dann nicht sparen?

Ja, kann man, wobei ich die Zeile 10 weglassen würde.

Ulf
Edit:Okay. Chown verrät mir google noch. Aber welcher User ist denn nun der 0.0? Der Standard-Login oder der root?

Jeder User hat eine numerische User-ID. Jede Gruppe hat analog eine numerische Gruppen-ID. Die Nummern können jeweils aus der Range von 0 bis 65535 sein. 0 bei der User-ID ist der User root. 0 Bei der Gruppe ist die Gruppe root. Also pronzipiell kannst Du einem User ulf mit der User-ID 1000 der Gruppe root mit der Gruppen-ID 0 zuordnen und schon hat ulf auch root-Rechte.

Edit:
Was Klaus schreibt, hätte ich dazu schreiben sollen....

OK: Nicht ganz! Für einen Vollzugriff müssen die Datei- und Verzeichnisrechte root zugeordnet sein und die Rechte Read, Write und Execute (bei Verzeichnissen und ausführbaren Dateien) gesetzt sein (ausgedrückt durch eine 7 oder 6 an 2. Stelle von rechts)

chown = Change Owner (also Besitzer oder Eigentümer einer Datei/eines Verzeichnisses)
chgrp = Change Group (also Gruppenzugehörigkeit einer Datei/eines Verzeichnisses)
chmod = Change Mode (1 = Ausführungsrecht, 2 = Schreibrecht, 4 = Leserecht)

Die Summe 7 heißt also: alle Rechte
Die Summe 5, man darf Dateien lesen und ausführen aber nicht verändern uns.
Die Summe 6 ist analog 7, aber man kann die Datei nicht ausführen
Die Summe 4 ist analog 4, aber man kann die Datei nicht ausführen

Wie gesagt: Das erste Bit links behandelt Sonderrechte.

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

Antworten
Ulf
  • Forum-Beiträge: 293

07.12.2011, 19:54:36 via App

Das Rooten hat übrigens geklappt. Danke Leute!

Antworten
rudi maus
  • Forum-Beiträge: 2

11.05.2012, 11:46:51 via App

Hallo ulf ich habe ein gallaxy mini Karten gebunden,und möchte es komplett frei machen.aber wie.weil ich nicht viele apps laden kann.

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

11.05.2012, 12:43:35 via Website

rudi maus
Hallo ulf ich habe ein gallaxy mini Karten gebunden,und möchte es komplett frei machen.aber wie.weil ich nicht viele apps laden kann.
Wer soll diesen Satz verstehen ?

lg Voss

Antworten
Simon Bricks
  • Forum-Beiträge: 2

13.05.2012, 01:37:44 via Website

Jörg V.
rudi maus
Hallo ulf ich habe ein gallaxy mini Karten gebunden,und möchte es komplett frei machen.aber wie.weil ich nicht viele apps laden kann.
Wer soll diesen Satz verstehen ?

Also rudi will wohl folgendes ausdrücken: "Ich kann mit meinem Handy nicht die Apps laden die ich gerne hätte. Dies liegt wohl an meinem Netzbetreiber (!?). Da ich allerdings einen Net- oder Simlock auf meinem Galaxy Mini habe würde ich diesen gerne entfernen, insofern dies mit einem Root so einfach möglich wäre! >_> So sollte das ungefähr aussehen. Würd mich allerdings auch interessieren ob man mit nem Root den Net-/Simlock loswerden kann.

Grüße

Antworten