policy_module(cgroup, 1.0.0) ######################################## # # Declarations # type cgred_t; type cgred_exec_t; init_daemon_domain(cgred_t, cgred_exec_t) type cgred_initrc_exec_t; init_script_file(cgred_initrc_exec_t) type cgred_var_run_t; files_pid_file(cgred_var_run_t) type cgrules_etc_t; files_config_file(cgrules_etc_t) type cgconfig_t; type cgconfig_exec_t; init_daemon_domain(cgconfig_t, cgconfig_exec_t) type cgconfig_initrc_exec_t; init_script_file(cgconfig_initrc_exec_t) type cgconfig_etc_t; files_config_file(cgconfig_etc_t) ######################################## # # cgconfig personal policy. # allow cgconfig_t self:capability { chown sys_admin }; allow cgconfig_t cgconfig_etc_t:file read_file_perms; kernel_list_unlabeled(cgconfig_t) kernel_read_system_state(cgconfig_t) files_read_etc_files(cgconfig_t) fs_manage_cgroup_dirs(cgconfig_t) fs_manage_cgroup_files(cgconfig_t) fs_mount_cgroup(cgconfig_t) fs_mounton_cgroup(cgconfig_t) fs_unmount_cgroup(cgconfig_t) ######################################## # # cgred personal policy. # allow cgred_t self:capability { net_admin sys_ptrace dac_override }; allow cgred_t self:netlink_socket { write bind create read }; allow cgred_t self:unix_dgram_socket { write create connect }; allow cgred_t cgrules_etc_t:file read_file_perms; manage_sock_files_pattern(cgred_t, cgred_var_run_t, cgred_var_run_t) files_pid_filetrans(cgred_t, cgred_var_run_t, sock_file) kernel_read_system_state(cgred_t) domain_read_all_domains_state(cgred_t) files_getattr_all_files(cgred_t) files_getattr_all_sockets(cgred_t) files_read_all_symlinks(cgred_t) files_read_etc_files(cgred_t) fs_write_cgroup_files(cgred_t) logging_send_syslog_msg(cgred_t) miscfiles_read_localization(cgred_t)