3 votes

Comment fixer les autorisations de fichiers sur Android 5 pour qu'une certaine application puisse accéder à certains fichiers ?

Contexte : J'avais un Nexus 4 rooté avec Android 4.4.4 qui fonctionnait bien. Puis j'ai reçu la notification de mise à jour vers Android 5. À cette fin, j'ai flashé la récupération stock pour Android 4.4.4 de Google et j'ai commencé la mise à niveau (mais je n'ai pas déraciné le téléphone, peut-être que c'était une erreur). Le processus de mise à niveau lui-même s'est déroulé sans problème. Après la mise à niveau, j'ai re-flasher TWRP 2.8.2 et ré-enraciné avec SuperSU 2.36, et fait une sauvegarde.

Puis, je me suis rendu compte que certaines données (photos, livres électroniques, ) étaient manquantes. Enfin, pas réellement manquantes, mais situées sous un répertoire "0" fallacieux (/storage/emulated/0/0). De plus, lorsque j'ai essayé d'accéder directement à mon dossier de livres électroniques avec FBReader, ce dernier m'a dit que les permissions d'accès au répertoire étaient insuffisantes.

D'abord, j'ai essayé le bouton "Fix Permissions" dans TWRP, mais cela m'a mis dans une boucle de démarrage. Après avoir restauré la sauvegarde, j'ai utilisé le gestionnaire de fichiers de TWRP pour déplacer toutes les données du faux répertoire "0" là où elles doivent être et j'ai supprimé le répertoire "0" maintenant vide. Le redémarrage a de nouveau fait apparaître l'écran "Optimisation des applications", mais seulement pour 7 applications. Je peux à nouveau accéder à mes livres électroniques, mais toujours pas de (vieilles) photos dans l'application Google Photos. Les photos prises après la sauvegarde s'affichent bien. Avec le gestionnaire de fichiers ou le terminal, je peux accéder à tous photos très bien une fois que j'ai appelé setenforce 0 . Les permissions indiquées par ls -Z /storage/emulated/0/DCIM/Camera se ressemblent sur toutes les photos, qu'elles soient visibles ou non dans l'application Photos : -rw-rw---- root sdcard_r u:object_r:fuse:s0 . Je suppose donc qu'il y a une autorisation SELinux supplémentaire que je dois définir sur les anciens fichiers image pour que l'application photo puisse y accéder. Par conséquent, ma question est la suivante : quels concepts de permission sont à l'œuvre ici, et quelles commandes sont nécessaires pour attribuer des fichiers/répertoires à une certaine application ? Merci.

Mise à jour : Je viens de découvrir que je ne peux prendre de nouvelles photos qu'avec setenforce 0, donc il doit y avoir une rupture majeure de SELinux quelque part.

1voto

moonbutt74 Points 663

Essayez d'utiliser Supersu 2.49 beta pour Lollipop (LP) 5.0.

Faites un déracinement complet d'abord.

J'ai LP 5.0 Touchwiz sur mon Samsung tab avec SElinux enforçant et fonctionnant Root. La version de Supersu dans votre récupération peut probablement être remplacée en décompressant votre récupération avec un certain nombre de méthodes et/ou de jeux d'outils, et en remplaçant l'archive. La meilleure approche serait de mettre à jour votre récupération si elle est disponible. De plus, les scripts de correction des permissions nécessitent une approche différente/nouvelle à partir d'Android 5.0.

Il s'agit de mon script imparfait de réparation des permissions pour mon autre Samsung tab fonctionnant sous LP 5.1.1 :

#!/system/bin/sh
mount -o rw,remount /system
find -type d -exec chmod 755 {} \;
find -type d -name '.*' -exec chmod 755 {} \;
find -type f -name '.*' -exec chmod 644 {} \;
find -type f -name '.su' -exec chmod 755 {} \;
find -type f -exec chmod 755 {} \;
find -type f -name '*.h' -exec chmod 644 {} \;
find -type f -name '*.a' -exec chmod 644 {} \;
find -type f -name '*.o' -exec chmod 644 {} \;
find -type f -name '*.so' -exec chmod 644 {} \;
find -type f -name '*.so.*' -exec chmod 644 {} \;
find -type f -name '*.c' -exec chmod 644 {} \;
find -type f -name '*.cpp' -exec chmod 644 {} \;
find -type f -name '*.cgf' -exec chmod 644 {} \;
find -type f -name '*.xml' -exec chmod 644 {} \;

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