Warum bekomme ich keinen Root-Zugriff von der Shell?

> adb shell
sh-4.1$ su
Permission denied

Ich habe mein Handy erfolgreich gerootet. Ich weiß das, weil ich Apps auf einer SD-Karte installieren kann und ein Programm namens SD Maid habe, das mit Root-Berechtigungen arbeiten kann.

Das Installieren von Apps auf SDCard erfordert nicht unbedingt Root, und SDMaid funktioniert auch (teilweise) ohne, also ist das kein Beweis. Ihr Zitat aus der Shell hingegen scheint zu beweisen, dass Sie mit Ihrem Rooting nicht erfolgreich waren. Ist bei der Überprüfung Ihrer installierten Apps entweder SuperUser oder SuperSU verfügbar? Erhalten Sie Eingabeaufforderungen wie „SDMaid hat Root-Berechtigungen angefordert“, die Sie bestätigen müssen?
@Izzy Ich erhalte Benachrichtigungen wie SD Maid has been granted super root permissions? Außerdem habe ich gerade play.google.com/store/apps/… installiert und es fragt mich nach einer Superuser-Bestätigung, die erfolgreich gewährt wird.
@Izzy Ich würde da anderer Meinung sein. Das Installieren von Apps auf der SD-Karte erfordert das Rooten Ihres Telefons. Können Sie ein gegenteiliges Beispiel nennen?
Sicher: Gehen Sie zu Einstellungen->Apps->Apps verwalten und gehen Sie sie durch. Apps, die dies unterstützen, können einfach verschoben werden, indem Sie auf die entsprechende Schaltfläche tippen. Zweitens: Schauen Sie sich AppMonster an , gleich im ersten Screenshot, unter dem "Mondsymbol" von "Sleepy Timer": diese App unterstützt App2SD, ohne Root. AppMonster kann es verschieben (kein Root erforderlich) und bietet dies sogar an. App2SD wird seit Android 2.2 nativ unterstützt. Folgen Sie dem Tag FAQ: App2SD
Für den vorherigen Kommentar: OK, also volle Bestätigung, dass Root funktioniert hat. Überprüfen Sie erneut Ihre Apps auf SuperUser/SuperSU, starten Sie diesmal die App. In seiner Konfiguration sollte es Ihnen zeigen, welche Berechtigungen es gespeichert hat; Vielleicht haben Sie einmal versehentlich "Erinnern" aktiviert und auf die Schaltfläche "Verweigern" für die Adb-Shell geklickt. Wenn Sie einen entsprechenden Eintrag finden, entfernen Sie ihn einfach. Wenn Sie das nächste Mal erneut gefragt werden, stellen Sie sicher, dass Sie die richtige Schaltfläche drücken :)
@Izzy Ich habe Superuser v2.3.6.3Die Registerkarte "Einstellungen" in Superuser zeigt keine gespeicherten Berechtigungseinstellungen an. Außerdem bestätigt AFAIK Superuser nur den Root-Zugriff für Anwendungen, die vom Telefon aus gestartet werden. Ich versuche, suvon bashShell nach innen zu kommen adb.
Ja, das habe ich verstanden (ich habe nie überprüft, was SuperUser in diesem Fall tut, bin aber davon ausgegangen, dass "adb" dann die "anfordernde App" wäre). Keine gespeicherten Berechtigungen wundern mich immer noch, da Sie oben angegeben haben, dass es SDMaid gewährt wurde: Genehmigen Sie das immer manuell oder haben Sie das Kontrollkästchen "Erinnern" aktiviert? Im letzteren Fall sollten Berechtigungen gespeichert werden.
Haben Sie versucht, adb als root auszuführen? Versuchen Sie, den adb rootBefehl in der Eingabeaufforderung/im Terminal auszugeben.

Antworten (4)

Von hier :

Möglicherweise müssen Sie den Adb-Root im Entwicklereinstellungsmenü aktivieren. Wenn Sie adb root über die cmd-Zeile ausführen, erhalten Sie Folgendes:

Root-Zugriff ist durch die Systemeinstellung deaktiviert - aktivieren Sie in den Einstellungen -> Entwicklungsoptionen

Root-Zugriff ist durch die Systemeinstellung deaktiviert - in den Einstellungen aktivieren -> Entwicklungsoptionen Sobald Sie die Root-Option (nur ADB oder Apps und ADB) aktivieren, wird adb neu gestartet und Sie können root von der cmd-Zeile aus verwenden.

Diese Einstellung ist nicht in allen ROMs verfügbar (konnte sie zB nicht in meinem LG Optimus 4X finden, das natürlich gerootet ist). IMHO ist dies eine Spezialität von CyanogenMod.
Was weißt du über Android, Alter? > Root-Zugriff ist durch die Systemeinstellung deaktiviert - in den Einstellungen aktivieren -> Entwicklungsoptionen Sobald Sie die Root-Option (nur ADB oder Apps und ADB) aktivieren, wird adb neu gestartet und Sie können root von der cmd-Zeile aus verwenden.

Heutzutage wird Magisk häufig zum Rooten verwendet.

Ich habe festgestellt, dass es auf meinem Oneplus 5 (Oxygen OS, Nougat) ausreichte, zur Magisk Manager-App zu gehen, den Bildschirm mit den Superuser-Berechtigungen zu öffnen und die Shell (com.android.shell) umzuschalten, um das Problem der verweigerten adb su-Berechtigung zu lösen.

Shell (com.android.shell) konnte in Magisk nicht gefunden werden. Wahrscheinlich hat sich dies in neueren Versionen von Magisk geändert, da jetzt keine vollständige Liste von Apps zur Auswahl steht.

Bei Google Play gibt es eine App namens ADBD Insecure by Chainfire . Mit dieser App können Sie adbd im Root-Modus ausführen, wenn Ihr Gerät beim Ausführen des Stock-ROM des Geräts gerootet ist. Ich habe erst kürzlich von dieser App erfahren.

Die Version auf Google Play ist nicht kostenlos, aber es ist eine kostenlose Version verfügbar. Der Link zur kostenlosen Version ist in der Beschreibung der Anwendung in Google Play verlinkt.

Das Tolle an dieser App ist, dass sie mit gerooteten Stock-ROMs funktioniert. Wenn Sie einen benutzerdefinierten Kernel oder ein benutzerdefiniertes ROM verwenden, benötigen Sie diese Anwendung wahrscheinlich nicht. Wenn Sie jedoch immer noch ein Stock-ROM verwenden, das gerade gerootet ist, möchten Sie vielleicht diese Anwendung für Ihr Gerät erhalten.

Mit adbd Insecure können Sie adbd im Root-Modus ausführen, wenn Ihr Gerät gerootet ist. (Beachten Sie, dass, wenn Sie einen benutzerdefinierten Kernel ausführen, diese Funktionalität wahrscheinlich bereits implementiert ist.)

Wenn Sie einen Standard-Kernel (hergestellt vom Telefonhersteller) auf Ihrem Gerät ausführen, läuft adbd wahrscheinlich im "sicheren" Modus, selbst wenn Sie gerootet sind. Mit dieser App können Sie adbd im „unsicheren“ Modus ausführen, wodurch Sie Root-Zugriff in „adb shell“ erhalten, Zugriff auf Systemdateien und Verzeichnisse über „adb push/pull“ erhalten und den Befehl „adb remount“ ausführen können Ihre /system-Partition beschreibbar.

Geben Sie hier die Bildbeschreibung ein

Ich habe die kostenlose ADBD Insecure-App aus dem ursprünglichen XDA-Thread auf meinem mit Magisk gerooteten Oneplus 5 Nougat ausprobiert, aber es hat nicht geholfen und auch die MTP-Konnektivität im USB-Debugging-Modus unterbrochen, bis das Telefon neu gestartet wurde.

Aktivieren Sie den Root-Zugriff für adb im Entwicklereinstellungsmenü. Schließen Sie dann Ihr USB-Kabel an und geben Sie Folgendes ein:

adb root

Es sollte zurückkehren

restarting adbd as root

Starten Sie nun die Shell neu

adb shell
Standard-Android bietet keinen „Root-Zugriff für adb“ in den Dev-Optionen. adb rootist nur auf userdebugROMs möglich: Warum macht „adb root“ nichts?
Für gerootete Android-ROMs ohne „Root-Zugriff für adb“ in den Dev-Optionen gibt es ein Magisk-Plugin adb_root , das das Äquivalent bereitstellt. (Aus Sicherheitsgründen bei Nichtgebrauch deaktivieren.)