Monday, July 29, 2019

root access - Why Changing Permissions For Some Systems Files is Not Allowed?


I have a rooted tablet and while browsing my files, i came along this folder: (./0/android/data) in the internal storage ... lets say (X-plore file browser) has the folder: (./0/android/data/x-plore).


For some reason, i wanted to change the permissions for that program, instead of giving it the permissions: (reading, writing, executing) ... it will be (reading & executing).


The problem is it says (process failed, some file systems do not allow changing permissions) using Root browser or ES File Explorer (both with root access).


1- Why it says i can not change permissions although i have the root access already ?


2- Why it refers to a folder of an external application [(./0/android/data/x-plore)] as a system file ?



Permissions have not changed



Answer



On more recent phones, internal storage is mounted on a FUSE mount point. Here's the corresponding line from mount executed on my Nexus 6P:



/dev/fuse on /storage/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)



FUSE only acts as an interface that translates the underneath actual filesystem. In Android's case, it's usually VFAT, exFAT or something similar, to guarantee readability under a variety of host OS. FAT and NTFS filesystems don't support granular file permissions under Linux-based OS - everything is pre-determined by how the drive was mounted, resulting in the default permission you see. This leads to Root Explorer throwing the error in the screenshot.


Note: I'm not exactly good at Linux, and have also learned quite a bit myself as I searched for materials that could answer this question, so feel free to edit and improve this answer with more professional ideas.


No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...