androidlinuxfilefile-permissionsandroid-shell

Android file permissions on Android 6.0


I want to list files and directories under "/proc" in Android. When running as my application process, many files are not readable.


If I list the directory as the shell user I get the following output:

shell@flounder:/ $ whoami
shell
shell@flounder:/ $ /system/bin/toolbox ls -l /proc
dr-xr-xr-x root     root              2015-09-12 03:30 1
dr-xr-xr-x root     root              2015-09-12 03:31 10
dr-xr-xr-x root     root              2015-09-12 03:31 101
dr-xr-xr-x shell    shell             2015-09-15 03:24 10196
dr-xr-xr-x root     root              2015-09-12 03:31 102
dr-xr-xr-x root     root              2015-09-12 03:31 103
dr-xr-xr-x root     root              2015-09-12 03:31 104
dr-xr-xr-x u0_a15   u0_a15            2015-09-14 07:37 10451
dr-xr-xr-x root     root              2015-09-12 03:31 105
dr-xr-xr-x wifi     wifi              2015-09-14 08:53 10570
dr-xr-xr-x root     root              2015-09-12 03:31 106
dr-xr-xr-x root     root              2015-09-12 03:31 107
dr-xr-xr-x root     root              2015-09-12 03:31 108
dr-xr-xr-x root     root              2015-09-12 03:31 11
dr-xr-xr-x root     root              2015-09-12 03:31 110
dr-xr-xr-x root     root              2015-09-12 03:31 111
dr-xr-xr-x root     root              2015-09-12 03:31 112
dr-xr-xr-x root     root              2015-09-12 03:31 113
dr-xr-xr-x root     root              2015-09-12 03:31 114
dr-xr-xr-x root     root              2015-09-12 03:31 115
dr-xr-xr-x root     root              2015-09-12 03:31 116
dr-xr-xr-x root     root              2015-09-12 03:31 117
dr-xr-xr-x root     root              2015-09-12 03:31 118
dr-xr-xr-x root     root              2015-09-12 03:31 119
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1193
dr-xr-xr-x root     root              2015-09-12 03:31 12
dr-xr-xr-x root     root              2015-09-12 03:31 120
dr-xr-xr-x u0_a57   u0_a57            2015-09-12 03:31 1209
dr-xr-xr-x root     root              2015-09-12 03:31 121
dr-xr-xr-x root     root              2015-09-12 03:31 122
dr-xr-xr-x nfc      nfc               2015-09-12 03:31 1227
dr-xr-xr-x root     root              2015-09-12 03:31 123
dr-xr-xr-x radio    radio             2015-09-12 03:31 1239
dr-xr-xr-x root     root              2015-09-12 03:31 124
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1246
dr-xr-xr-x root     root              2015-09-12 03:31 125
dr-xr-xr-x root     root              2015-09-12 03:31 126
dr-xr-xr-x root     root              2015-09-12 03:31 127
dr-xr-xr-x root     root              2015-09-12 03:30 128
dr-xr-xr-x root     root              2015-09-12 03:31 13
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1305
dr-xr-xr-x root     root              2015-09-12 03:30 132
dr-xr-xr-x root     root              2015-09-12 03:31 134
dr-xr-xr-x u0_a86   u0_a86            2015-09-14 07:16 1343
dr-xr-xr-x root     root              2015-09-12 03:31 135
dr-xr-xr-x root     root              2015-09-12 03:31 136
dr-xr-xr-x root     root              2015-09-12 03:31 137
dr-xr-xr-x root     root              2015-09-12 03:31 138
dr-xr-xr-x root     root              2015-09-12 03:31 139
dr-xr-xr-x root     root              2015-09-12 03:31 14
dr-xr-xr-x root     root              2015-09-12 03:31 140
dr-xr-xr-x root     root              2015-09-12 03:31 141
dr-xr-xr-x root     root              2015-09-12 03:31 142
dr-xr-xr-x root     root              2015-09-12 03:31 143
dr-xr-xr-x root     root              2015-09-12 03:31 144
dr-xr-xr-x root     root              2015-09-12 03:31 145
dr-xr-xr-x root     root              2015-09-12 03:31 149
dr-xr-xr-x root     root              2015-09-12 03:31 150
dr-xr-xr-x logd     logd              2015-09-12 03:30 153
dr-xr-xr-x root     root              2015-09-12 03:30 155
dr-xr-xr-x root     root              2015-09-12 03:31 16
dr-xr-xr-x root     root              2015-09-12 03:31 160
dr-xr-xr-x root     root              2015-09-12 03:30 163
dr-xr-xr-x root     root              2015-09-12 03:30 164
dr-xr-xr-x system   system            2015-09-12 03:30 165
dr-xr-xr-x u0_a9    u0_a9             2015-09-12 03:31 1652
dr-xr-xr-x system   graphics          2015-09-12 03:30 166
dr-xr-xr-x root     root              2015-09-12 03:31 17
dr-xr-xr-x system   system            2015-09-14 05:30 18227
dr-xr-xr-x root     root              2015-09-12 03:31 188
dr-xr-xr-x root     root              2015-09-12 03:31 192
dr-xr-xr-x root     root              2015-09-12 03:31 193
dr-xr-xr-x root     root              2015-09-12 03:31 194
dr-xr-xr-x root     root              2015-09-12 03:31 195
dr-xr-xr-x root     root              2015-09-12 03:31 2
dr-xr-xr-x root     root              2015-09-12 03:31 20
dr-xr-xr-x u0_a19   u0_a19            2015-09-14 05:36 20564
dr-xr-xr-x root     root              2015-09-12 03:31 207
dr-xr-xr-x u0_a45   u0_a45            2015-09-15 03:00 20763
dr-xr-xr-x root     root              2015-09-12 03:31 208
dr-xr-xr-x root     root              2015-09-12 03:31 21
dr-xr-xr-x shell    shell             2015-09-12 03:31 210
dr-xr-xr-x root     root              2015-09-12 03:31 215
dr-xr-xr-x root     root              2015-09-12 03:31 216
dr-xr-xr-x root     root              2015-09-12 03:31 217
dr-xr-xr-x drm      drm               2015-09-12 03:31 218
dr-xr-xr-x media    audio             2015-09-12 03:31 219
dr-xr-xr-x root     root              2015-09-12 03:31 22
dr-xr-xr-x root     root              2015-09-12 03:31 220
dr-xr-xr-x keystore keystore          2015-09-12 03:31 222
dr-xr-xr-x system   system            2015-09-12 03:31 223
dr-xr-xr-x root     root              2015-09-12 03:31 224
dr-xr-xr-x root     root              2015-09-12 03:31 225
dr-xr-xr-x shell    shell             2015-09-15 03:15 2258
dr-xr-xr-x system   root              2015-09-12 03:31 226
dr-xr-xr-x gps      system            2015-09-12 03:31 227
dr-xr-xr-x u0_a67   u0_a67            2015-09-15 03:15 2270
dr-xr-xr-x root     root              2015-09-12 03:31 23
dr-xr-xr-x root     root              2015-09-12 03:31 24
dr-xr-xr-x root     root              2015-09-12 03:31 2428
dr-xr-xr-x root     root              2015-09-15 03:05 24353
dr-xr-xr-x root     root              2015-09-12 03:31 25
dr-xr-xr-x root     root              2015-09-15 03:11 25597
dr-xr-xr-x root     root              2015-09-12 03:31 26
dr-xr-xr-x root     root              2015-09-15 03:11 26671
dr-xr-xr-x root     root              2015-09-12 03:31 27
dr-xr-xr-x u0_a84   u0_a84            2015-09-15 03:15 2738
dr-xr-xr-x root     root              2015-09-12 03:31 28
dr-xr-xr-x root     root              2015-09-12 03:31 29
dr-xr-xr-x root     root              2015-09-15 03:11 29355
dr-xr-xr-x root     root              2015-09-15 03:16 2958
dr-xr-xr-x root     root              2015-09-12 03:31 3
dr-xr-xr-x root     root              2015-09-12 03:31 30
dr-xr-xr-x u0_a5    u0_a5             2015-09-15 03:10 30095
dr-xr-xr-x u0_a18   u0_a18            2015-09-15 03:11 30266
dr-xr-xr-x u0_a40   u0_a40            2015-09-15 03:11 30290
dr-xr-xr-x system   system            2015-09-15 03:11 30333
dr-xr-xr-x u0_a37   u0_a37            2015-09-15 03:11 30382
dr-xr-xr-x u0_a77   u0_a77            2015-09-15 03:11 30420
dr-xr-xr-x u0_a61   u0_a61            2015-09-15 03:11 30458
dr-xr-xr-x root     root              2015-09-14 09:56 30729
dr-xr-xr-x u0_a4    u0_a4             2015-09-14 11:12 30994
dr-xr-xr-x root     root              2015-09-12 03:31 31
dr-xr-xr-x u0_a9    u0_a9             2015-09-14 13:31 31453
dr-xr-xr-x shell    shell             2015-09-15 03:12 31844
dr-xr-xr-x root     root              2015-09-12 03:31 32
dr-xr-xr-x u0_a6    u0_a6             2015-09-15 01:13 32176
dr-xr-xr-x root     root              2015-09-15 02:34 32422
dr-xr-xr-x root     root              2015-09-15 03:13 32476
dr-xr-xr-x shell    shell             2015-09-15 02:39 32552
dr-xr-xr-x root     root              2015-09-12 03:31 33
dr-xr-xr-x root     root              2015-09-12 03:31 47
dr-xr-xr-x root     root              2015-09-12 03:31 48
dr-xr-xr-x root     root              2015-09-12 03:31 49
dr-xr-xr-x root     root              2015-09-12 03:31 5
dr-xr-xr-x root     root              2015-09-12 03:31 50
dr-xr-xr-x system   system            2015-09-12 03:31 590
dr-xr-xr-x root     root              2015-09-12 03:31 64
dr-xr-xr-x root     root              2015-09-12 03:31 65
dr-xr-xr-x root     root              2015-09-12 03:31 66
dr-xr-xr-x media_rw media_rw          2015-09-12 03:31 666
dr-xr-xr-x root     root              2015-09-12 03:31 67
dr-xr-xr-x root     root              2015-09-12 03:31 68
dr-xr-xr-x root     root              2015-09-12 03:31 69
dr-xr-xr-x u0_a24   u0_a24            2015-09-12 03:31 694
dr-xr-xr-x root     root              2015-09-12 03:31 7
dr-xr-xr-x root     root              2015-09-12 03:31 70
dr-xr-xr-x root     root              2015-09-12 03:31 71
dr-xr-xr-x u0_a88   u0_a88            2015-09-14 06:14 7104
dr-xr-xr-x root     root              2015-09-12 03:31 72
dr-xr-xr-x u0_a88   u0_a88            2015-09-14 06:15 7217
dr-xr-xr-x root     root              2015-09-15 03:21 7221
dr-xr-xr-x root     root              2015-09-12 03:31 73
dr-xr-xr-x root     root              2015-09-12 03:31 74
dr-xr-xr-x root     root              2015-09-15 03:21 7487
dr-xr-xr-x root     root              2015-09-12 03:31 75
dr-xr-xr-x root     root              2015-09-12 03:31 76
dr-xr-xr-x root     root              2015-09-12 03:31 77
dr-xr-xr-x root     root              2015-09-12 03:31 78
dr-xr-xr-x root     root              2015-09-12 03:31 79
dr-xr-xr-x root     root              2015-09-12 03:31 8
dr-xr-xr-x root     root              2015-09-12 03:31 81
dr-xr-xr-x root     root              2015-09-12 03:31 82
dr-xr-xr-x u0_a14   u0_a14            2015-09-15 02:45 8250
dr-xr-xr-x root     root              2015-09-12 03:31 83
dr-xr-xr-x root     root              2015-09-12 03:31 84
dr-xr-xr-x root     root              2015-09-12 03:31 85
dr-xr-xr-x u0_a53   u0_a53            2015-09-13 11:39 8517
dr-xr-xr-x root     root              2015-09-12 03:31 87
dr-xr-xr-x root     root              2015-09-12 03:31 88
dr-xr-xr-x root     root              2015-09-12 03:31 89
dr-xr-xr-x root     root              2015-09-12 03:31 9
dr-xr-xr-x root     root              2015-09-12 03:31 90
dr-xr-xr-x u0_a9    u0_a9             2015-09-12 03:31 903
dr-xr-xr-x root     root              2015-09-12 03:31 91
dr-xr-xr-x u0_a9    u0_a9             2015-09-13 11:45 9159
dr-xr-xr-x root     root              2015-09-12 03:31 93
dr-xr-xr-x u0_a66   u0_a66            2015-09-14 08:52 9356
dr-xr-xr-x root     root              2015-09-12 03:31 94
dr-xr-xr-x root     root              2015-09-12 03:31 95
dr-xr-xr-x root     root              2015-09-12 03:31 97
dr-xr-xr-x root     root              2015-09-12 03:31 98
dr-xr-xr-x root     root              2015-09-12 03:31 99
dr-xr-xr-x root     root              2015-09-15 03:24 asound
dr-xr-xr-x root     root              2015-09-15 03:24 bluetooth
-r--r--r-- root     root            0 2015-09-15 03:24 buddyinfo
dr-xr-xr-x root     root              2015-09-15 03:24 bus
-r--r--r-- root     root            0 2015-09-15 03:24 cgroups
-r--r----- root     radio           0 2015-09-15 03:24 cmdline
-r--r--r-- root     root            0 2015-09-15 03:24 consoles
-r--r--r-- root     root            0 2015-09-15 03:24 cpuinfo
-r--r--r-- root     root            0 2015-09-15 03:24 crypto
dr-xr-xr-x root     root              2015-09-15 03:24 device-tree
-r--r--r-- root     root            0 2015-09-15 03:24 devices
-r--r--r-- root     root            0 2015-09-15 03:24 diskstats
dr-xr-xr-x root     root              2015-09-15 03:24 driver
-r--r--r-- root     root            0 2015-09-15 03:24 execdomains
-r--r--r-- root     root            0 2015-09-15 03:24 fb
-r--r--r-- root     root            0 2015-09-15 03:24 filesystems
dr-xr-xr-x root     root              2015-09-15 03:24 fs
-r--r--r-- root     root            0 2015-09-15 03:24 interrupts
-r--r--r-- root     root            0 2015-09-15 03:24 iomem
-r--r--r-- root     root            0 2015-09-15 03:24 ioports
dr-xr-xr-x root     root              2015-09-15 03:24 irq
-r--r--r-- root     root            0 2015-09-15 03:24 kallsyms
-r--r----- root     system          0 2015-09-12 03:30 kmsg
-r-------- root     root            0 2015-09-15 03:24 kpagecount
-r-------- root     root            0 2015-09-15 03:24 kpageflags
-r--r--r-- root     root            0 2015-09-15 03:24 loadavg
-r--r--r-- root     root            0 2015-09-15 03:24 locks
-r--r--r-- root     root            0 2015-09-15 03:24 meminfo
-r--r--r-- root     root            0 2015-09-15 03:24 misc
lrwxrwxrwx root     root              2015-09-15 03:24 mounts -> self/mounts
lrwxrwxrwx root     root              2015-09-15 03:24 net -> self/net
-r--r--r-- root     root            0 2015-09-15 03:24 pagetypeinfo
-r--r--r-- root     root            0 2015-09-15 03:24 partitions
dr-xr-xr-x root     root              2015-09-15 03:24 quadd
-r--r--r-- root     root            0 2015-09-15 03:24 sched_debug
-r--r--r-- root     root            0 2015-09-15 03:24 schedstat
dr-xr-xr-x root     root              2015-09-15 03:24 scsi
lrwxrwxrwx root     root              1969-12-31 16:00 self -> 10196
-r--r----- root     log             0 2015-09-15 03:24 slabinfo
-r--r--r-- root     root            0 2015-09-15 03:24 softirqs
-r--r--r-- root     root            0 2015-09-15 03:24 stat
-r--r--r-- root     root            0 2015-09-15 03:24 swaps
dr-xr-xr-x root     root              2015-09-14 06:13 sys
lstat '/proc/sysrq-trigger' failed: Permission denied
dr-xr-xr-x root     root              2015-09-15 03:24 sysvipc
-r--r--r-- root     root            0 2015-09-15 03:24 timer_list
-rw-r--r-- root     root            0 2015-09-15 03:24 timer_stats
dr-xr-xr-x root     root              2015-09-15 03:24 tty
dr-xr-xr-x root     root              2015-09-15 03:24 uid_cputime
dr-xr-xr-x root     root              2015-09-15 03:24 uid_stat
-r--r--r-- root     root            0 2015-09-15 03:24 uptime
-r--r--r-- root     root            0 2015-09-15 03:24 version
-r--r----- root     log             0 2015-09-15 03:24 vmallocinfo
-r--r--r-- root     root            0 2015-09-15 03:24 vmstat
-r--r--r-- root     root            0 2015-09-15 03:24 zoneinfo

If I list the the directory as my app process (using run-as [PACKAGE_NAME]):

shell@flounder:/ $ run-as my.packagename
shell@flounder:/data/data/my.packagename $ whoami
u0_a84
shell@flounder:/data/data/my.packagename $ /system/bin/toolbox ls -l /proc
lstat '/proc/1' failed: Permission denied
lstat '/proc/10' failed: Permission denied
lstat '/proc/101' failed: Permission denied
lstat '/proc/102' failed: Permission denied
lstat '/proc/103' failed: Permission denied
lstat '/proc/104' failed: Permission denied
dr-xr-xr-x u0_a15   u0_a15            2015-09-14 07:37 10451
lstat '/proc/105' failed: Permission denied
lstat '/proc/10570' failed: Permission denied
lstat '/proc/106' failed: Permission denied
lstat '/proc/107' failed: Permission denied
lstat '/proc/108' failed: Permission denied
lstat '/proc/11' failed: Permission denied
lstat '/proc/110' failed: Permission denied
lstat '/proc/111' failed: Permission denied
lstat '/proc/112' failed: Permission denied
lstat '/proc/113' failed: Permission denied
lstat '/proc/114' failed: Permission denied
lstat '/proc/115' failed: Permission denied
dr-xr-xr-x u0_a84   u0_a84            2015-09-15 03:26 11513
lstat '/proc/116' failed: Permission denied
lstat '/proc/117' failed: Permission denied
lstat '/proc/11719' failed: Permission denied
lstat '/proc/118' failed: Permission denied
lstat '/proc/119' failed: Permission denied
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1193
lstat '/proc/12' failed: Permission denied
lstat '/proc/120' failed: Permission denied
dr-xr-xr-x u0_a57   u0_a57            2015-09-12 03:31 1209
lstat '/proc/121' failed: Permission denied
lstat '/proc/122' failed: Permission denied
lstat '/proc/1227' failed: Permission denied
lstat '/proc/123' failed: Permission denied
lstat '/proc/1239' failed: Permission denied
lstat '/proc/124' failed: Permission denied
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1246
lstat '/proc/125' failed: Permission denied
lstat '/proc/126' failed: Permission denied
lstat '/proc/12696' failed: Permission denied
lstat '/proc/127' failed: Permission denied
lstat '/proc/128' failed: Permission denied
lstat '/proc/13' failed: Permission denied
dr-xr-xr-x u0_a26   u0_a26            2015-09-12 03:31 1305
lstat '/proc/132' failed: Permission denied
lstat '/proc/134' failed: Permission denied
dr-xr-xr-x u0_a86   u0_a86            2015-09-14 07:16 1343
lstat '/proc/135' failed: Permission denied
lstat '/proc/136' failed: Permission denied
lstat '/proc/137' failed: Permission denied
lstat '/proc/138' failed: Permission denied
lstat '/proc/139' failed: Permission denied
lstat '/proc/14' failed: Permission denied
lstat '/proc/140' failed: Permission denied
dr-xr-xr-x u0_a84   u0_a84            2015-09-15 03:29 14005
lstat '/proc/141' failed: Permission denied
lstat '/proc/142' failed: Permission denied
lstat '/proc/143' failed: Permission denied
lstat '/proc/144' failed: Permission denied
lstat '/proc/145' failed: Permission denied
lstat '/proc/149' failed: Permission denied
lstat '/proc/150' failed: Permission denied
lstat '/proc/153' failed: Permission denied
lstat '/proc/155' failed: Permission denied
lstat '/proc/16' failed: Permission denied
lstat '/proc/160' failed: Permission denied
lstat '/proc/163' failed: Permission denied
lstat '/proc/164' failed: Permission denied
lstat '/proc/165' failed: Permission denied
dr-xr-xr-x u0_a9    u0_a9             2015-09-12 03:31 1652
lstat '/proc/166' failed: Permission denied
lstat '/proc/17' failed: Permission denied
lstat '/proc/18227' failed: Permission denied
lstat '/proc/188' failed: Permission denied
lstat '/proc/192' failed: Permission denied
lstat '/proc/193' failed: Permission denied
lstat '/proc/194' failed: Permission denied
lstat '/proc/195' failed: Permission denied
lstat '/proc/2' failed: Permission denied
lstat '/proc/20' failed: Permission denied
dr-xr-xr-x u0_a19   u0_a19            2015-09-14 05:36 20564
lstat '/proc/207' failed: Permission denied
dr-xr-xr-x u0_a45   u0_a45            2015-09-15 03:00 20763
lstat '/proc/208' failed: Permission denied
lstat '/proc/21' failed: Permission denied
lstat '/proc/210' failed: Permission denied
lstat '/proc/215' failed: Permission denied
lstat '/proc/216' failed: Permission denied
lstat '/proc/217' failed: Permission denied
lstat '/proc/218' failed: Permission denied
lstat '/proc/219' failed: Permission denied
lstat '/proc/22' failed: Permission denied
lstat '/proc/220' failed: Permission denied
lstat '/proc/222' failed: Permission denied
lstat '/proc/223' failed: Permission denied
lstat '/proc/224' failed: Permission denied
lstat '/proc/225' failed: Permission denied
lstat '/proc/2258' failed: Permission denied
lstat '/proc/226' failed: Permission denied
lstat '/proc/227' failed: Permission denied
dr-xr-xr-x u0_a67   u0_a67            2015-09-15 03:15 2270
lstat '/proc/23' failed: Permission denied
lstat '/proc/24' failed: Permission denied
lstat '/proc/2428' failed: Permission denied
lstat '/proc/24353' failed: Permission denied
lstat '/proc/25' failed: Permission denied
lstat '/proc/25597' failed: Permission denied
lstat '/proc/26' failed: Permission denied
lstat '/proc/26671' failed: Permission denied
lstat '/proc/27' failed: Permission denied
dr-xr-xr-x u0_a84   u0_a84            2015-09-15 03:15 2738
lstat '/proc/28' failed: Permission denied
lstat '/proc/29' failed: Permission denied
lstat '/proc/3' failed: Permission denied
lstat '/proc/30' failed: Permission denied
lstat '/proc/30095' failed: Permission denied
dr-xr-xr-x u0_a18   u0_a18            2015-09-15 03:11 30266
dr-xr-xr-x u0_a40   u0_a40            2015-09-15 03:11 30290
lstat '/proc/30333' failed: Permission denied
dr-xr-xr-x u0_a37   u0_a37            2015-09-15 03:11 30382
dr-xr-xr-x u0_a77   u0_a77            2015-09-15 03:11 30420
dr-xr-xr-x u0_a61   u0_a61            2015-09-15 03:11 30458
lstat '/proc/30729' failed: Permission denied
dr-xr-xr-x u0_a4    u0_a4             2015-09-14 11:12 30994
lstat '/proc/31' failed: Permission denied
dr-xr-xr-x u0_a9    u0_a9             2015-09-14 13:31 31453
lstat '/proc/31844' failed: Permission denied
lstat '/proc/32' failed: Permission denied
dr-xr-xr-x u0_a6    u0_a6             2015-09-15 01:13 32176
lstat '/proc/32422' failed: Permission denied
lstat '/proc/32476' failed: Permission denied
lstat '/proc/32552' failed: Permission denied
lstat '/proc/33' failed: Permission denied
lstat '/proc/47' failed: Permission denied
lstat '/proc/48' failed: Permission denied
lstat '/proc/49' failed: Permission denied
lstat '/proc/5' failed: Permission denied
lstat '/proc/50' failed: Permission denied
lstat '/proc/590' failed: Permission denied
lstat '/proc/64' failed: Permission denied
lstat '/proc/65' failed: Permission denied
lstat '/proc/66' failed: Permission denied
lstat '/proc/666' failed: Permission denied
lstat '/proc/67' failed: Permission denied
lstat '/proc/68' failed: Permission denied
lstat '/proc/69' failed: Permission denied
lstat '/proc/694' failed: Permission denied
lstat '/proc/7' failed: Permission denied
lstat '/proc/70' failed: Permission denied
lstat '/proc/71' failed: Permission denied
dr-xr-xr-x u0_a88   u0_a88            2015-09-14 06:14 7104
lstat '/proc/72' failed: Permission denied
dr-xr-xr-x u0_a88   u0_a88            2015-09-14 06:15 7217
lstat '/proc/7221' failed: Permission denied
lstat '/proc/73' failed: Permission denied
lstat '/proc/74' failed: Permission denied
lstat '/proc/7487' failed: Permission denied
lstat '/proc/75' failed: Permission denied
lstat '/proc/76' failed: Permission denied
lstat '/proc/77' failed: Permission denied
lstat '/proc/78' failed: Permission denied
lstat '/proc/79' failed: Permission denied
lstat '/proc/8' failed: Permission denied
lstat '/proc/81' failed: Permission denied
lstat '/proc/82' failed: Permission denied
dr-xr-xr-x u0_a14   u0_a14            2015-09-15 02:45 8250
lstat '/proc/83' failed: Permission denied
lstat '/proc/84' failed: Permission denied
lstat '/proc/85' failed: Permission denied
dr-xr-xr-x u0_a53   u0_a53            2015-09-13 11:39 8517
lstat '/proc/87' failed: Permission denied
lstat '/proc/88' failed: Permission denied
lstat '/proc/89' failed: Permission denied
lstat '/proc/9' failed: Permission denied
lstat '/proc/90' failed: Permission denied
dr-xr-xr-x u0_a9    u0_a9             2015-09-12 03:31 903
lstat '/proc/91' failed: Permission denied
dr-xr-xr-x u0_a9    u0_a9             2015-09-13 11:45 9159
lstat '/proc/93' failed: Permission denied
dr-xr-xr-x u0_a66   u0_a66            2015-09-14 08:52 9356
lstat '/proc/94' failed: Permission denied
lstat '/proc/95' failed: Permission denied
lstat '/proc/97' failed: Permission denied
lstat '/proc/98' failed: Permission denied
lstat '/proc/99' failed: Permission denied
dr-xr-xr-x root     root              2015-09-15 03:29 asound
dr-xr-xr-x root     root              2015-09-15 03:29 bluetooth
-r--r--r-- root     root            0 2015-09-15 03:29 buddyinfo
dr-xr-xr-x root     root              2015-09-15 03:29 bus
-r--r--r-- root     root            0 2015-09-15 03:29 cgroups
-r--r----- root     radio           0 2015-09-15 03:29 cmdline
-r--r--r-- root     root            0 2015-09-15 03:29 consoles
-r--r--r-- root     root            0 2015-09-15 03:29 cpuinfo
-r--r--r-- root     root            0 2015-09-15 03:29 crypto
dr-xr-xr-x root     root              2015-09-15 03:29 device-tree
-r--r--r-- root     root            0 2015-09-15 03:29 devices
-r--r--r-- root     root            0 2015-09-15 03:29 diskstats
dr-xr-xr-x root     root              2015-09-15 03:29 driver
-r--r--r-- root     root            0 2015-09-15 03:29 execdomains
-r--r--r-- root     root            0 2015-09-15 03:29 fb
-r--r--r-- root     root            0 2015-09-15 03:29 filesystems
dr-xr-xr-x root     root              2015-09-15 03:29 fs
-r--r--r-- root     root            0 2015-09-15 03:29 interrupts
-r--r--r-- root     root            0 2015-09-15 03:29 iomem
-r--r--r-- root     root            0 2015-09-15 03:29 ioports
dr-xr-xr-x root     root              2015-09-15 03:29 irq
-r--r--r-- root     root            0 2015-09-15 03:29 kallsyms
-r--r----- root     system          0 2015-09-12 03:30 kmsg
-r-------- root     root            0 2015-09-15 03:29 kpagecount
-r-------- root     root            0 2015-09-15 03:29 kpageflags
-r--r--r-- root     root            0 2015-09-15 03:29 loadavg
-r--r--r-- root     root            0 2015-09-15 03:29 locks
-r--r--r-- root     root            0 2015-09-15 03:29 meminfo
-r--r--r-- root     root            0 2015-09-15 03:29 misc
lrwxrwxrwx root     root              2015-09-15 03:29 mounts -> self/mounts
lrwxrwxrwx root     root              2015-09-15 03:29 net -> self/net
-r--r--r-- root     root            0 2015-09-15 03:29 pagetypeinfo
-r--r--r-- root     root            0 2015-09-15 03:29 partitions
dr-xr-xr-x root     root              2015-09-15 03:29 quadd
-r--r--r-- root     root            0 2015-09-15 03:29 sched_debug
-r--r--r-- root     root            0 2015-09-15 03:29 schedstat
dr-xr-xr-x root     root              2015-09-15 03:29 scsi
lrwxrwxrwx root     root              1969-12-31 16:00 self -> 14005
-r--r----- root     log             0 2015-09-15 03:29 slabinfo
-r--r--r-- root     root            0 2015-09-15 03:29 softirqs
-r--r--r-- root     root            0 2015-09-15 03:29 stat
-r--r--r-- root     root            0 2015-09-15 03:29 swaps
dr-xr-xr-x root     root              2015-09-14 06:13 sys
lstat '/proc/sysrq-trigger' failed: Permission denied
dr-xr-xr-x root     root              2015-09-15 03:29 sysvipc
-r--r--r-- root     root            0 2015-09-15 03:29 timer_list
-rw-r--r-- root     root            0 2015-09-15 03:29 timer_stats
dr-xr-xr-x root     root              2015-09-15 03:29 tty
dr-xr-xr-x root     root              2015-09-15 03:29 uid_cputime
dr-xr-xr-x root     root              2015-09-15 03:29 uid_stat
-r--r--r-- root     root            0 2015-09-15 03:29 uptime
-r--r--r-- root     root            0 2015-09-15 03:29 version
-r--r----- root     log             0 2015-09-15 03:29 vmallocinfo
-r--r--r-- root     root            0 2015-09-15 03:29 vmstat
-r--r--r-- root     root            0 2015-09-15 03:29 zoneinfo

Obviously, the files that I received a "Permission denied" error on cannot be read using new java.io.File("/proc").listFiles(); either.


My question:

Why can't my application process read these directories? The permissions give "other" users read access ("dr-xr-xr-x").


Solution

  • Android 5 and above use SELinux which uses two forms of access control. Traditional Linux uses a Discretionary Access Control List. The SE component also enforces a Mandatory Access Control List. The former is default allow, the latter is default deny.

    You, or a process, only have access to an object if both sets of permissions allow you. Access is determined by SE contexts. Shell and app contexts have different permissions, and unfortunately there isn't any known way to give an app shell context.

    You can view Security Contexts using:

    ls -Z
    

    I don't have a Marshmallow device to test, however what might give your app the necessary context is getting the usagestatsmanager permission. A user would have to enable it security settings, and I'm told Samsung devices don't have the necessary menu. Shot in the dark mind you.

    If you want to try it, see this question: How to check if "android.permission.PACKAGE_USAGE_STATS" permission is given?

    This page might give you more info on permissions: https://su.chainfire.eu/#selinux