1 votes

Comment modifier les fichiers racine dans /sys (Permission refusée) ?

J'ai essayé de modifier les fichiers Root de mon téléphone par le biais d'une application que je développe. Le téléphone que j'ai est un Moto G6, entièrement rooté. J'utilise des émulateurs de terminal pour exécuter des commandes sur mon téléphone. J'ai essayé les applications "Terminal Emulator for Android" et "Shell Terminal Emulator" pour essayer de rendre mes fichiers modifiables.

Les commandes que j'ai essayé d'exécuter sont les suivantes :

su
mount -o rw,remount /system

Dans l'émulateur de terminal pour Android, cela semble fonctionner car il n'y a pas de message d'erreur, mais dans l'émulateur de terminal Shell, j'obtiens le résultat suivant :

"...whatever.../system not user mountable in fstab"

Je suis donc allé vérifier si cela fonctionnait quand même et j'ai essayé de modifier un fichier dans le navigateur Root. Le fichier :

/sys/devices/virtual/android_usb/android0/power/control

Le fichier a actuellement les permissions définies comme "rw-r--r--" et remplies avec le texte "auto" et après avoir essayé d'enregistrer le fichier avec le contenu "0" à la place, je suis fourni avec ce grand message d'erreur laid :

Error when saving file
=====Description=====
java.io.FileNotFoundException: "...file name..." and then (permission denied)

Ce que je veux savoir, c'est pourquoi je n'ai pas la permission de modifier ces fichiers, après tout mon téléphone est entièrement enraciné et j'ai accordé l'accès Root à l'éditeur de texte.

Toute solution ou tout pas dans la bonne direction sera grandement apprécié.

1voto

Irfan Latif Points 16863

dans l'application Shell Terminal Emulator, je suis confronté au problème suivant :
"...whatever.../system not user mountable in fstab"

toybox mount retourne que erreur lorsque l'UID est différent de 0, c'est-à-dire que vous n'êtes pas Root.

a essayé de modifier un fichier dans le navigateur Root. Le fichier :
/sys/devices/virtual/android_usb/android0/power/control

/system y /sys sont deux systèmes de fichiers différents. Monter l'un en R/W ne vous permettra pas d'accéder en R/W à l'autre. /system est le point de montage d'une partition qui contient Android OS. Il ne peut pas être monté R/W sans obtenir un accès Root et sans désactivation de dm-verity . sysfs est le pseudo-système de fichiers du noyau Linux qui fournit des informations relatives au matériel et expose certaines interfaces à l'espace utilisateur pour la configuration et la mise au point du noyau.

sysfs est monté R/W par défaut mais tous les fichiers de ce système de fichiers ne peuvent pas être modifiés. Seules certaines valeurs spécifiques peuvent être écrites dans des fichiers spécifiques. Le fichier que vous essayez d'écrire est lié à la gestion de l'alimentation du pilote USB Gadget du noyau qui consiste à laisser le périphérique dans une sorte de rôle d'esclave (mode périphérique), et non dans le rôle d'hôte USB. Valeurs possibles pour control sont auto y on selon documentation .

après avoir essayé d'enregistrer le fichier avec le contenu "0" à la place, je reçois ce message d'erreur très laid

Je ne suis pas sûr de cette erreur liée à Java, vous pouvez obtenir une meilleure aide à l'adresse suivante stackoverflow . Cependant, vous pouvez obtenir un shell Root et le faire :

~# echo -n on >/sys/devices/virtual/android_usb/android0/power/control

Cela doit fonctionner, j'ai essayé cela dans l'éditeur de texte GUI aussi. Probablement que la valeur 0 que vous essayez d'écrire n'est pas une valeur valide pour le noyau, sauf si vous modifiez quelque chose au niveau du pilote.

Si le but est uniquement d'éditer des fichiers pour des tests qui ne peuvent pas être accédés / modifiés sans Root, créez / éditez / supprimez un fichier dans le dossier de l'utilisateur. /data/local . /data n'a pas besoin d'être remonté.

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