blob: 5f70cd079ceb57572faac1c5b577914bc11509da [file] [log] [blame]
Stephen Smalleyb3cb9692014-02-21 13:45:29 -05001# Domain for shell processes spawned by ADB or console service.
Stephen Smalley42fb8242014-06-11 07:10:09 -04002type shell, domain, mlstrustedsubject;
Stephen Smalley01301542013-09-27 10:38:14 -04003type shell_exec, exec_type, file_type;
Stephen Smalley2dd4e512012-01-04 12:33:27 -05004
Stephen Smalley396015c2014-01-07 12:47:10 -05005# Create and use network sockets.
6net_domain(shell)
7
Stephen Smalley2dd4e512012-01-04 12:33:27 -05008# Run app_process.
Stephen Smalley712ca0a2013-10-23 13:25:53 -04009# XXX Transition into its own domain?
Stephen Smalley2dd4e512012-01-04 12:33:27 -050010app_domain(shell)
Stephen Smalleyd99e6d52013-12-02 14:18:11 -050011
Mark Salyzynad5315d2014-03-17 13:00:38 -070012# logd access
13read_logd(shell)
14control_logd(shell)
15
Nick Kralevich4fd4a202014-06-05 13:27:44 -070016# read files in /data/anr
17allow shell anr_data_file:dir r_dir_perms;
18allow shell anr_data_file:file r_file_perms;
19
Stephen Smalley42fb8242014-06-11 07:10:09 -040020# Access /data/local/tmp.
21allow shell shell_data_file:dir create_dir_perms;
22allow shell shell_data_file:file create_file_perms;
23allow shell shell_data_file:file rx_file_perms;
24
25# adb bugreport
26unix_socket_connect(shell, dumpstate, dumpstate)
27
Stephen Smalley42fb8242014-06-11 07:10:09 -040028allow shell devpts:chr_file rw_file_perms;
29allow shell tty_device:chr_file rw_file_perms;
30allow shell console_device:chr_file rw_file_perms;
Stephen Smalleya2e4e262014-06-11 12:09:15 -040031allow shell input_device:dir r_dir_perms;
Stephen Smalley42fb8242014-06-11 07:10:09 -040032allow shell input_device:chr_file rw_file_perms;
33allow shell system_file:file x_file_perms;
34allow shell shell_exec:file rx_file_perms;
35allow shell zygote_exec:file rx_file_perms;
36
37r_dir_file(shell, apk_data_file)
38
39# Set properties.
40unix_socket_connect(shell, property, init)
41allow shell shell_prop:property_service set;
42allow shell ctl_dumpstate_prop:property_service set;
43allow shell debug_prop:property_service set;
44allow shell powerctl_prop:property_service set;
45
46# systrace support - allow atrace to run
47# debugfs doesn't support labeling individual files, so we have
48# to grant read access to all of /sys/kernel/debug.
49# Directory read access and file write access is already granted
50# in domain.te.
51allow shell debugfs:file r_file_perms;
52
53# allow shell to run dmesg
54allow shell kernel:system syslog_read;