Pourquoi ne puis-je pas obtenir un accès root à partir du shell?

14
> adb shell
sh-4.1$ su
Permission denied

J'ai réussi à rooter mon téléphone. Je le sais parce que je suis capable d'installer des applications sur la carte SD et j'ai un programme appelé SD Maid qui est capable de fonctionner avec des autorisations root.

Kshitiz Sharma
la source
L'installation d'applications sur SDCard ne nécessite pas nécessairement root, et SDMaid fonctionne également (partiellement) sans, ce n'est donc pas une preuve. Votre citation du shell, d'autre part, semble prouver que vous n'avez pas réussi à enraciner. Lors de la vérification de vos applications installées, est-ce que SuperUser ou SuperSU est disponible? Recevez-vous des invites telles que «SDMaid a demandé les autorisations root» que vous devez confirmer?
Izzy
@Izzy Je reçois des notifications comme SD Maid has been granted super root permissions? En outre, je viens d'installer play.google.com/store/apps/… et il me demande une confirmation de super utilisateur qui est accordée avec succès.
Kshitiz Sharma
@Izzy, je vous prie de différer. L'installation d'applications sur SDCard nécessite de rooter votre téléphone. Pourriez-vous citer un exemple contraire?
Kshitiz Sharma
Bien sûr: allez dans Paramètres-> Applications-> Gérer les applications et parcourez-les. Les applications qui le prennent en charge peuvent simplement être déplacées en appuyant sur le bouton correspondant. Deuxièmement: Jetez un œil à AppMonster , juste dans la première capture d'écran, sous "l'icône de la lune" de "Sleepy Timer": cette application prend en charge App2SD, sans root. AppMonster peut le déplacer (ne nécessitant pas de root), et proposera même de le faire. App2SD est pris en charge nativement depuis Android 2.2. Suivez le tag FAQ: App2SD
Izzy
Pour le commentaire précédent: OK, donc ack complet que la racine a fonctionné. Encore une fois, veuillez vérifier vos applications pour SuperUser / SuperSU, cette fois, démarrez l'application. Dans sa configuration, il devrait vous laisser voir quelles autorisations il a stockées; peut-être avez-vous une fois accidentellement coché «souvenir» et appuyé sur le bouton «refuser» pour le shell adb. Si vous trouvez une entrée correspondante, supprimez-la simplement. La prochaine fois, vous devriez être invité à nouveau, puis assurez-vous d'appuyer sur le bon bouton :)
Izzy

Réponses:

14

D' ici :

Vous devrez peut-être activer adb root à partir du menu des paramètres du développeur. Si vous exécutez adb root à partir de la ligne cmd, vous pouvez obtenir:

l'accès root est désactivé par les paramètres système - activer dans les paramètres -> options de développement

l'accès root est désactivé par les paramètres système - activer dans les paramètres -> options de développement Une fois que vous avez activé l'option root (ADB uniquement ou Apps et ADB), adb redémarrera et vous pourrez utiliser root à partir de la ligne cmd.

Anthony
la source
5
Ce paramètre n'est pas disponible dans toutes les ROM (impossible à trouver par exemple dans mon LG Optimus 4X , qui est bien sûr enraciné). À mon humble avis, c'est une spécialité de CyanogenMod.
Izzy
que savez-vous sur Android, mec? > l'accès root est désactivé par les paramètres système - activer dans les paramètres -> options de développement Une fois que vous avez activé l'option root (ADB uniquement ou Apps et ADB), adb redémarrera et vous pourrez utiliser root à partir de la ligne cmd.
Nizzy
2

Il existe une application sur Google Play appelée ADBD Insecure by Chainfire . Cette application vous permet d'exécuter adbd en mode racine si votre appareil est enraciné lors de l'exécution de la ROM Stock des appareils. J'ai récemment découvert cette application.

La version sur Google Play n'est pas gratuite, mais une version gratuite est disponible. Le lien vers la version gratuite est lié dans la description de l'application sur Google Play.

Ce qui est génial avec cette application, elle fonctionne avec les ROMs stockées qui ont été enracinées. Si vous utilisez un noyau personnalisé ou une ROM personnalisée, vous n'aurez probablement pas besoin de cette application. Mais si vous utilisez toujours une ROM stock, juste enracinée, alors vous voudrez peut-être obtenir cette application pour votre appareil.

adbd Insecure vous permet d'exécuter adbd en mode root si votre appareil est rooté. (Notez que si vous exécutez un noyau personnalisé, il est probable qu'il implémente déjà cette fonctionnalité)

Si vous exécutez un noyau de stock (fabriqué par le fabricant du téléphone) sur votre appareil, il y a de fortes chances que adbd s'exécute en mode "sécurisé", même si vous êtes rooté. Cette application vous permet d'exécuter adbd en mode "non sécurisé", ce qui vous donne un accès root dans "adb shell", permet d'accéder aux fichiers et répertoires système via "adb push / pull", et vous permet d'exécuter la commande "adb remount" pour faire votre partition système / accessible en écriture.

entrez la description de l'image ici

Ryan Conrad
la source
J'ai essayé l'application ADBD Insecure gratuite à partir du fil XDA d'origine sur mon Oneplus 5 Nougat enraciné avec Magisk, mais cela n'a pas aidé et a également cassé la connectivité MTP en mode de débogage USB jusqu'au redémarrage du téléphone.
Vadzim
0

De nos jours, Magisk est couramment utilisé pour l'enracinement.

J'ai constaté que sur mon Oneplus 5 (Oxygen OS, Nougat), il suffisait d'aller à l'application Magisk Manager, d'ouvrir l'écran des autorisations de superutilisateur et de basculer Shell (com.android.shell) pour résoudre le problème de refus de l'autorisation adb su.

Vadzim
la source
0

Activez l'accès root pour adb à partir du menu des paramètres du développeur. Connectez ensuite votre câble USB et tapez:

adb root

Il devrait revenir

restarting adbd as root

Maintenant relancez le shell

adb shell
cardamome
la source
Stock Android ne fournit aucun "accès root pour adb" dans les options de développement. adb rootn'est possible que sur les userdebugROM: pourquoi «racine adb» ne fait rien?
Irfan Latif du