Some people have apparently managed to get Ext4 formatted SD cards to work in their Android devices, allowing them to get file system permission management
. I don't have an SD card in my phone, but I want to be able to manage the file permissions on the emulated SD card that all Android devices have.
The problem I see with the current implementation is the fact that apps which can access one file on your SD card (or emulated SD card) can access every single file on your SD card. There is no way to limit access to a single folder.
Now I'm wondering how I can change the emulated SD card in a way that I can specify which app can access which file.
Btw from what I've read, every app has it's own Linux user so in theory it should be as simple as setting permissions with chown
/chmod
.
But people say that Android has a special implementation for the emulated SD storage, which has been accomplished by using FUSE.
I am aware that apps may not work correctly when they don't have permissions to read or write form that storage. But that shouldn't really be a problem if you manage the permissions with chown
/chmod
.
I also know that I might lose the ability to use MTP to access that storage from a computer.
I'm using CyanogenMod 13 on a OnePlus One at the moment. Rooted and custom recovery etc. I will upgrade to Android 7 soon (CM14). (also running microG instead of google play services.)
/data
partition is already formatted as an EXT4 partition in most cases../data/media/0/
, that will not be reflected in the emulated storage; that's how it works.. So, your question ultimately reduces to this question: "How do I modify the FUSE module to achieve this?", which I feel it's off-topic here, as said below.