2

I'm trying to copy one file from /data/data/com.application1/myfile to /data/data/com.application2/myfile

The file arrives with owner and group set to the app that it came from. I then changed the owner and group the application running it (A SSH application).

The permissions change, but I still get access denied. I tried using chattr -i myfile but the issue is still there. Even chmod 777 still gives access denied.

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/whoami
u0_a149

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/ls -la
-rwx------ u0_a149  u0_a149        10 2018-06-23 16:23 myfile

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/echo test > testfile

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/ls -la
-rwx------ u0_a149  u0_a149        10 2018-06-23 16:23 myfile
-rw------- u0_a149  u0_a149         5 2018-06-23 16:37 testfile

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/cat testfile
test

user@htc_m8:/data/data/org.galexander.sshd/home $ /system/bin/cat myfile
cat: myfile: Permission denied

I have busybox installed, but in the example I'm using native commands, however the busybox commands give the same output.

I just can't see what is different about the file I created compared to the one I copied. Same owner/group/permissions.

1

Android runs in "SELinux" mode. More information here SELinux concepts

This means in addition to the standard linux permissions it also has additional attributes attached.

Running attr -l myfile showed the following Attribute "selinux" has a 38 byte value for myfile

Using /system/bin/ls -alZ you can see the selinux attribute value.

-rwx------ u0_a141  u0_a141           u:object_r:app_data_file:s0 myfile
-rw------- u0_a141  u0_a141           u:object_r:app_data_file:s0:c512,c768 testfile

The file I copied was missing some extra data on the end, c512,c768, I presume this is something like an AppID.

Running su -c restorecon myfile fixed this and restored the file to the correct attribute value. Ref: Explanation of the chcon command - Post

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.