8 votes

Comment obtenir la permission de créer ce fichier dans un shell Android ?

J'essaie de Rooter un Kindle et je suis coincé. J'obtiens une permission refusée et je ne sais pas comment ou quelles permissions changer.

mike@Inspiron:~/Downloads/android-sdk-linux/platform-tools$ adb shell
shell@android:/ $ echo 'ro.kernel.qemu=1' > /data/local.prop
/system/bin/sh: cannot create /data/local.prop: Permission denied
1|shell@android:/ $ sudo echo 'ro.kernel.qemu=1' > /data/local.prop            
/system/bin/sh: cannot create /data/local.prop: Permission denied
1|shell@android:/ $ sudo
/system/bin/sh: sudo: not found
127|shell@android:/ $

J'utilise Ubuntu 12.04 si cela fait une différence.

7voto

Milner Points 533

Réponse courte : Pour cela, vous devez Rooter votre appareil.

Explication : Le site shell L'utilisateur n'a pas de droit d'écriture à cet endroit. Le site /data n'appartient pas à shell et leur groupe ne correspond pas non plus : sur mon Motorola Milestone 2, par exemple, il appartient à system:system et a les permissions drwxrwxr-x alors que shell appartient à la shell groupe uniquement. Ce n'est que sur un appareil enraciné que vous pouvez soit modifier les autorisations, soit être suffisamment privilégié pour les annuler.

PS : Sur Android, le sudo est simplement appelée su -- ce qui explique votre dernière erreur ( /system/bin/sh: sudo: not found ) dans le cas où votre appareil est déjà enraciné.

7voto

Skippy Points 71

Essayez ça :

adb shell "cd /data/local && mkdir tmp"
adb shell mv /data/local/tmp /data/local/tmp.bak
adb shell ln -s /data /data/local/tmp
adb reboot

adb wait-for-device
adb shell rm /data/local.prop
adb shell "echo \"ro.kernel.qemu=1\" > /data/local.prop"
adb reboot

En créant un lien vers le site de /data à /data/local/tmp Android croira que vous écrivez à /data/local/tmp même si vous écrivez en fait à /data . Cette méthode est en fait utilisée pour Rooter avec succès de nombreux appareils, bien que certains l'aient spécifiquement dans le build.prop que /data/tmp est hors limites.

Cette méthode pourrait ne pas fonctionner avec un Kindle Fire, mais je n'ai pas essayé. J'ai enraciné un Kindle Fire, mais il s'agissait d'une méthode totalement différente. Tout d'abord, TWRP recovery a dû être flashé. Ensuite, une fausse image de récupération exploitée. Ensuite, vous pouviez obtenir un accès pour copier vos binaires su et busybox.

Vous pouvez essayer le local.prop comme je l'ai décrit ci-dessus. Elle est compatible avec de nombreux appareils.

2voto

Thej Points 655

Vous n'avez pas suivi les instructions d'enracinement correctement.

http://rootzwiki.com/topic/34162-Root-kindlefire-7hd-probably-the-other-2ndgen-kindlefire/

L'instruction ci-dessus vous ferait créer des liens symboliques vers le répertoire /data/ à partir de /data/local/tmp/, ce qui rendrait le fichier /data/local.prop accessible en écriture après un redémarrage.

Assurez-vous de suivre précisément les instructions, y compris les redémarrages et tout le reste, et vérifiez à chaque étape qu'elles ne produisent pas de message d'erreur inattendu.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X