1 votes

Faites en sorte que le stockage de la carte SD interne se comporte comme un stockage Ext4 normal (avec gestion des permissions du système de fichiers)

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.

2voto

Пионерка Points 366

Vous semblez ne pas comprendre le point. En fait, quelques-uns d'entre eux:

  • Le stockage de carte SD émulé n'a rien à voir avec le manque de support de carte SD physique par certains appareils.
  • C'est une zone de stockage public par conception.
  • Il est implémenté via FUSE - ce n'est pas un périphérique de bloc réel et vous ne pouvez pas simplement le reformater à n'importe quel système de fichiers que vous voulez.
  • Pouvoir partager des fichiers via MTP dépend de l'implémentation actuelle et le changement que vous suggérez le casserait.

0 votes

Je sais que c'est par conception et que je perdrai le MTP. Mais cela m'importe peu car le problème de sécurité/vie privée est trop important. Serait-il possible d'utiliser FUSE pour le modifier de manière à ce que je puisse gérer les autorisations avec chown/chmod? Et le cas échéant, y a-t-il des pièges à éviter?

0 votes

Comme dit le proverbe si vous devez demander - la réponse est non. Les modifications que vous voulez ne peuvent pas être réalisées par quelques commandes shell simples et des modifications de configuration - vous devrez écrire votre propre implémentation FUSE. Bien que certainement faisable - c'est hors sujet ici. Et les pièges évidents incluraient certaines applications refusant simplement de fonctionner.

0 votes

Pouvez-vous élaborer sur vous devrez écrire votre propre implémentation FUSE? Êtes-vous sûr à 100% que ce serait la seule solution ?

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