file.te 7.69 KB
Newer Older
Stephen Smalley's avatar
Stephen Smalley committed
1 2 3 4 5 6
# Filesystem types
type labeledfs, fs_type;
type pipefs, fs_type;
type sockfs, fs_type;
type rootfs, fs_type;
type proc, fs_type;
7 8 9 10
# Security-sensitive proc nodes that should not be writable to most.
type proc_security, fs_type;
# proc, sysfs, or other nodes that permit configuration of kernel usermodehelpers.
type usermodehelper, fs_type, sysfs_type;
11
type qtaguid_proc, fs_type, mlstrustedobject;
Robert Craig's avatar
Robert Craig committed
12
type proc_bluetooth_writable, fs_type;
13
type proc_cpuinfo, fs_type;
14
type proc_net, fs_type;
15
type proc_sysrq, fs_type;
16
type selinuxfs, fs_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
17
type cgroup, fs_type, mlstrustedobject;
18
type sysfs, fs_type, sysfs_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
19
type sysfs_writable, fs_type, sysfs_type, mlstrustedobject;
20
type sysfs_bluetooth_writable, fs_type, sysfs_type, mlstrustedobject;
21
type sysfs_nfc_power_writable, fs_type, sysfs_type, mlstrustedobject;
22
type sysfs_wake_lock, fs_type, sysfs_type;
23 24
# /sys/devices/system/cpu
type sysfs_devices_system_cpu, fs_type, sysfs_type;
Nick Kralevich's avatar
Nick Kralevich committed
25 26
# /sys/module/lowmemorykiller
type sysfs_lowmemorykiller, fs_type, sysfs_type;
Stephen Smalley's avatar
Stephen Smalley committed
27
type inotify, fs_type, mlstrustedobject;
28
type devpts, fs_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
29 30 31
type tmpfs, fs_type;
type shm, fs_type;
type mqueue, fs_type;
32 33 34 35
type fuse, sdcard_type, fs_type, mlstrustedobject;
type vfat, sdcard_type, fs_type, mlstrustedobject;
typealias fuse alias sdcard_internal;
typealias vfat alias sdcard_external;
Stephen Smalley's avatar
Stephen Smalley committed
36
type debugfs, fs_type, mlstrustedobject;
jaejyn.shin's avatar
jaejyn.shin committed
37
type pstorefs, fs_type;
38
type functionfs, fs_type;
39
type oemfs, fs_type, contextmount_type;
Nick Kralevich's avatar
Nick Kralevich committed
40
type usbfs, fs_type;
41
type binfmt_miscfs, fs_type;
Stephen Smalley's avatar
Stephen Smalley committed
42 43 44 45 46

# File types
type unlabeled, file_type;
# Default type for anything under /system.
type system_file, file_type;
47 48
# Type for /system/bin/logcat.
type logcat_exec, exec_type, file_type;
Nick Kralevich's avatar
Nick Kralevich committed
49 50
# /cores for coredumps on userdebug / eng builds
type coredump_file, file_type;
Stephen Smalley's avatar
Stephen Smalley committed
51 52
# Default type for anything under /data.
type system_data_file, file_type, data_file_type;
Paul Lawrence's avatar
Paul Lawrence committed
53 54
# Unencrypted data
type unencrypted_data_file, file_type, data_file_type;
55 56 57
# /data/.layout_version or other installd-created files that
# are created in a system_data_file directory.
type install_data_file, file_type, data_file_type;
58 59
# /data/drm - DRM plugin data
type drm_data_file, file_type, data_file_type;
60 61
# /data/adb - adb debugging files
type adb_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
62
# /data/anr - ANR traces
63
type anr_data_file, file_type, data_file_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
64 65 66
# /data/tombstones - core dumps
type tombstone_data_file, file_type, data_file_type;
# /data/app - user-installed apps
67 68
type apk_data_file, file_type, data_file_type;
type apk_tmp_file, file_type, data_file_type, mlstrustedobject;
69 70 71
# /data/app-private - forward-locked apps
type apk_private_data_file, file_type, data_file_type;
type apk_private_tmp_file, file_type, data_file_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
72 73
# /data/dalvik-cache
type dalvikcache_data_file, file_type, data_file_type;
74
# /data/dalvik-cache/profiles
75
type dalvikcache_profiles_data_file, file_type, data_file_type, mlstrustedobject;
76 77
# /data/resource-cache
type resourcecache_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
78
# /data/local - writable by shell
79
type shell_data_file, file_type, data_file_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
80 81
# /data/gps
type gps_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
82 83
# /data/property
type property_data_file, file_type, data_file_type;
84 85
# /data/bootchart
type bootchart_data_file, file_type, data_file_type;
86 87
# /data/system/heapdump
type heapdump_data_file, file_type, data_file_type, mlstrustedobject;
88

89 90 91
# Mount locations managed by vold
type mnt_media_rw_file, file_type;
type mnt_user_file, file_type;
92
type mnt_expand_file, file_type;
93 94 95 96 97 98
type storage_file, file_type;

# Label for storage dirs which are just mount stubs
type mnt_media_rw_stub_file, file_type;
type storage_stub_file, file_type;

Stephen Smalley's avatar
Stephen Smalley committed
99
# /data/misc subdirectories
100
type adb_keys_file, file_type, data_file_type;
101
type audio_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
102
type bluetooth_data_file, file_type, data_file_type;
103
type camera_data_file, file_type, data_file_type;
104
type gatekeeper_data_file, file_type, data_file_type;
105
type keychain_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
106
type keystore_data_file, file_type, data_file_type;
107
type media_data_file, file_type, data_file_type;
108
type media_rw_data_file, file_type, data_file_type, mlstrustedobject;
109
type misc_user_data_file, file_type, data_file_type;
110
type net_data_file, file_type, data_file_type;
111
type nfc_data_file, file_type, data_file_type;
112
type radio_data_file, file_type, data_file_type, mlstrustedobject;
113
type shared_relro_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
114
type systemkeys_data_file, file_type, data_file_type;
115
type vpn_data_file, file_type, data_file_type;
Stephen Smalley's avatar
Stephen Smalley committed
116
type wifi_data_file, file_type, data_file_type;
Nick Kralevich's avatar
Nick Kralevich committed
117
type zoneinfo_data_file, file_type, data_file_type;
118
type vold_data_file, file_type, data_file_type;
119
type perfprofd_data_file, file_type, data_file_type, mlstrustedobject;
120

121 122
# Compatibility with type names used in vanilla Android 4.3 and 4.4.
typealias audio_data_file alias audio_firmware_file;
Stephen Smalley's avatar
Stephen Smalley committed
123 124
# /data/data subdirectories - app sandboxes
type app_data_file, file_type, data_file_type;
125
# /data/data subdirectory for system UID apps.
126
type system_app_data_file, file_type, data_file_type, mlstrustedobject;
127 128
# Compatibility with type name used in Android 4.3 and 4.4.
typealias app_data_file alias platform_app_data_file;
129
typealias app_data_file alias download_file;
Stephen Smalley's avatar
Stephen Smalley committed
130 131
# Default type for anything under /cache
type cache_file, file_type, mlstrustedobject;
rpcraig's avatar
rpcraig committed
132 133 134
# Type for /cache/.*\.{data|restore} and default
# type for anything under /cache/backup
type cache_backup_file, file_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
135 136
# Default type for anything under /efs
type efs_file, file_type;
137
# Type for wallpaper file.
138
type wallpaper_file, file_type, mlstrustedobject;
139
# /mnt/asec
140
type asec_apk_file, file_type, data_file_type, mlstrustedobject;
141 142
# Elements of asec files (/mnt/asec) that are world readable
type asec_public_file, file_type, data_file_type;
143 144
# /data/app-asec
type asec_image_file, file_type, data_file_type;
rpcraig's avatar
rpcraig committed
145 146
# /data/backup and /data/secure/backup
type backup_data_file, file_type, data_file_type, mlstrustedobject;
William Roberts's avatar
William Roberts committed
147 148
# For /data/security
type security_file, file_type;
149 150
# All devices have bluetooth efs files. But they
# vary per device, so this type is used in per
William Roberts's avatar
William Roberts committed
151
# device policy
152 153
type bluetooth_efs_file, file_type;

Stephen Smalley's avatar
Stephen Smalley committed
154
# Socket types
155
type adbd_socket, file_type;
Stephen Smalley's avatar
Stephen Smalley committed
156 157
type bluetooth_socket, file_type;
type dnsproxyd_socket, file_type, mlstrustedobject;
Nick Kralevich's avatar
Nick Kralevich committed
158
type dumpstate_socket, file_type;
159
type fwmarkd_socket, file_type, mlstrustedobject;
Stephen Smalley's avatar
Stephen Smalley committed
160 161
type gps_socket, file_type;
type installd_socket, file_type;
162
type lmkd_socket, file_type;
163
type logd_socket, file_type, mlstrustedobject;
164 165
type logdr_socket, file_type, mlstrustedobject;
type logdw_socket, file_type, mlstrustedobject;
166
type mdns_socket, file_type;
167
type mdnsd_socket, file_type, mlstrustedobject;
Mark Salyzyn's avatar
Mark Salyzyn committed
168
type misc_logd_file, file_type;
169
type mtpd_socket, file_type;
Stephen Smalley's avatar
Stephen Smalley committed
170 171
type netd_socket, file_type;
type property_socket, file_type;
Robert Craig's avatar
Robert Craig committed
172
type racoon_socket, file_type;
Stephen Smalley's avatar
Stephen Smalley committed
173 174 175
type rild_socket, file_type;
type rild_debug_socket, file_type;
type system_wpa_socket, file_type;
176
type system_ndebug_socket, file_type;
Stephen Smalley's avatar
Stephen Smalley committed
177 178 179 180
type vold_socket, file_type;
type wpa_socket, file_type;
type zygote_socket, file_type;

181 182 183
# UART (for GPS) control proc file
type gps_control, file_type;

Stephen Smalley's avatar
Stephen Smalley committed
184 185 186 187 188
# Allow files to be created in their appropriate filesystems.
allow fs_type self:filesystem associate;
allow sysfs_type sysfs:filesystem associate;
allow file_type labeledfs:filesystem associate;
allow file_type tmpfs:filesystem associate;
189
allow file_type rootfs:filesystem associate;
Stephen Smalley's avatar
Stephen Smalley committed
190
allow dev_type tmpfs:filesystem associate;
191 192 193 194 195 196 197 198

# It's a bug to assign the file_type attribute and fs_type attribute
# to any type. Do not allow it.
#
# For example, the following is a bug:
#   type apk_data_file, file_type, data_file_type, fs_type;
# Should be:
#   type apk_data_file, file_type, data_file_type;
199
neverallow fs_type file_type:filesystem associate;