Apparemment, certaines personnes ont réussi à faire fonctionner des cartes SD formatées en Ext4 dans leurs appareils Android, leur permettant d'obtenir la gestion des permissions du système de fichiers
. Je n'ai pas de carte SD dans mon téléphone, mais je souhaite pouvoir gérer les permissions des fichiers sur la carte SD émulée que tous les appareils Android possèdent.
Le problème que je vois avec l'implémentation actuelle est le fait que les applications qui peuvent accéder à un fichier sur votre carte SD (ou carte SD émulée) peuvent accéder à chaque fichier de votre carte SD. Il n'y a aucun moyen de limiter l'accès à un seul dossier.
Maintenant je me demande comment je peux modifier la carte SD émulée de manière à pouvoir spécifier quelle application peut accéder à quel fichier.
Au fait, d'après ce que j'ai lu, chaque application a son propre utilisateur Linux donc en théorie cela devrait être aussi simple que de définir les permissions avec chown
/chmod
.
Mais des personnes disent qu'Android a une implémentation spéciale pour le stockage SD émulé, qui a été réalisée en utilisant FUSE.
Je suis conscient que les applications peuvent ne pas fonctionner correctement lorsqu'elles n'ont pas les permissions de lire ou écrire à partir de ce stockage. Mais cela ne devrait pas vraiment être un problème si vous gérez les permissions avec chown
/chmod
.
Je sais aussi que je pourrais perdre la possibilité d'utiliser MTP pour accéder à ce stockage depuis un ordinateur.
Je suis sous CyanogenMod 13 sur un OnePlus One pour l'instant. Rooté et recovery personnalisé etc. Je vais bientôt passer à Android 7 (CM14). (aussi en utilisant microG au lieu des services Google Play.)
1 votes
Que voulez-vous dire exactement par carte SD émulée? Le stockage interne émulé à partir de la partition /data via FUSE? Si oui, la partition
/data
est déjà formatée en tant que partition EXT4 dans la plupart des cas.0 votes
Oui, je pense que c'est ce que je veux dire. Merci d'avoir clarifié. J'ai modifié la question en conséquence.
1 votes
Comme le répond ci-dessous, la seule façon serait de modifier FUSE et de compiler le module FUSE vous-même.. Même si vous définissez les autorisations sur les fichiers de stockage interne depuis
/data/media/0/
, cela ne sera pas reflété dans le stockage émulé ; c'est ainsi que ça fonctionne.. Ainsi, votre question se réduit finalement à cette question : "Comment modifier le module FUSE pour y parvenir ?", ce qui me semble hors sujet ici, comme indiqué ci-dessous.0 votes
Je ne sais pas. Peut-être qu'il y a un autre moyen. Comme désactiver FUSE et créer un lien symbolique.