type shell, domain;
type shell_exec, file_type;
domain_auto_trans(adbd, shell_exec, shell)
domain_auto_trans(init, shell_exec, shell)
allow shell rootfs:dir r_dir_perms;
allow shell devpts:chr_file rw_file_perms;
allow shell tty_device:chr_file rw_file_perms;
allow shell console_device:chr_file rw_file_perms;
allow shell system_file:file x_file_perms;
allow shell shell_exec:file rx_file_perms;
allow shell zygote_exec:file rx_file_perms;
allow shell shell_data_file:dir create_dir_perms;
allow shell shell_data_file:file create_file_perms;
allow shell shell_data_file:file rx_file_perms;

# Read properties.
allow shell kernel:fd use;
allow shell tmpfs:file read;

r_dir_file(shell, apk_data_file)
allow shell dalvikcache_data_file:file write;

# Run dmesg.
allow shell kernel:system syslog_read;

# Run cat /proc/kmsg.
allow shell kernel:system syslog_mod;

# Run logcat.
allow shell log_device:chr_file r_file_perms;

# Run app_process.
# XXX Split into its own domain?
app_domain(shell)
