I recently realized that Xprivacy is not capable of restricting the file storage access. So now I'm looking for a reliable way to do that.

I guess denying the general storage permission would prevent apps from accessing it, but I have yet to find an app that doesn't immediately crash or become useless when you do that. ...So that's definitely not the way to go. Also, I want way more fine-grained control. For instance I might want WhatsApp to be able access /storage/emulated/0/WhatsApp and /data/data/com.whatsapp, but deny access to everything else.

Xprivacy seems to be able to do that using its whitelisting functionality. But sadly it doesn't actually work.

I found out that every app in Android has it's own Linux user account. And this got me wondering:

Shouldn't it be possible to use standard Linux file permissions to manage which app can access which folder? If that requires changing the file system (e.g. switching from FAT to EXT4 for the SD card, as FAT wouldn't support those permissions), can that be done and how?

Has anyone tried that before?
What would I have to do? (Root access and a terminal are not a problem.)

  • One culprit here would be the file system used on the SD card: FAT doesn't support those "attributes", thus you cannot change user/group per folder or per file (just for the entire card, as that's applied to the mount point). Not sure about the "emulated SD card", but AFAIK that uses FAT via FUSE in most cases, so the issue would be the very same. – Izzy Nov 24 '16 at 12:47
  • But you can use ext4 for actual sd cards in CyanogenMod from what i read. Now the question would be: How do I reformat the emulated sd card? – Forivin Nov 24 '16 at 13:43
  • I've edited your question accordingly ;) – Izzy Nov 24 '16 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.