blob: 115d080263978b8514866d9fca63c6889d16bdde [file] [log] [blame]
# SELinux policy for Shill component of Chrome OS.
type cros_shill, chromeos_domain, domain;
permissive cros_shill;
domain_auto_trans({ cros_init_shill minijail }, cros_shill_exec, cros_shill);
allow cros_shill { cros_init_shill minijail }:fd use;
allow cros_shill { cros_init_shill minijail }:fifo_file rw_file_perms;
r_dir_file(cros_shill, cros_passwd_file);
r_dir_file(cros_shill, cros_var_lib_whitelist);
allow cros_shill { cros_run_shill cros_var_lib_shill cros_var_cache_shill }:file create_file_perms;
allow cros_shill { cros_run_shill cros_var_lib_shill cros_var_cache_shill }:dir create_dir_perms;
r_dir_file(cros_shill, sysfs);
allow cros_shill sysfs_net:dir search;
allow cros_shill sysfs_net:lnk_file read;
# read proc
allow cros_shill chromeos_domain:dir search;
allow cros_shill chromeos_domain:file { open getattr read };
allow cros_shill chromeos_domain:lnk_file read;
allow cros_shill self:capability { net_admin net_raw setgid setpcap setuid kill };
allow cros_shill self:netlink_generic_socket { bind create read setopt write };
allow cros_shill self:netlink_route_socket { bind create nlmsg_read nlmsg_write read setopt write };
allow cros_shill self:packet_socket { bind create };
allow cros_shill proc_net:file rw_file_perms;
allow cros_shill proc_uptime:file r_file_perms;
cros_tcp_connect(cros_shill);
cros_udp_listen(cros_shill);
allow cros_shill kernel:system module_request;
allow cros_shill device:blk_file getattr;
# dhcpcd-specific
allow cros_shill cros_dhcpcd_exec:file rx_file_perms;
allow cros_shill self:capability net_bind_service;
allow cros_shill self:packet_socket { setopt write read };
allow cros_shill self:netlink_route_socket getattr;
allowxperm cros_shill self:udp_socket ioctl { SIOCETHTOOL SIOCGIWESSID };
tmp_file(cros_shill, file);
log_writer(cros_shill);
uma_writer(cros_shill);
cros_dbus_client(cros_shill);