diff options
Diffstat (limited to 'policy/modules/services/corosync.te')
-rw-r--r-- | policy/modules/services/corosync.te | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/policy/modules/services/corosync.te b/policy/modules/services/corosync.te new file mode 100644 index 000000000..6f8d20c68 --- /dev/null +++ b/policy/modules/services/corosync.te @@ -0,0 +1,148 @@ +policy_module(corosync, 1.4.0) + +######################################## +# +# Declarations +# + +type corosync_t; +type corosync_exec_t; +init_daemon_domain(corosync_t, corosync_exec_t) +domain_obj_id_change_exemption(corosync_t) + +type corosync_initrc_exec_t; +init_script_file(corosync_initrc_exec_t) + +type corosync_tmp_t; +files_tmp_file(corosync_tmp_t) + +type corosync_tmpfs_t; +files_tmpfs_file(corosync_tmpfs_t) + +type corosync_var_lib_t; +files_type(corosync_var_lib_t) + +type corosync_var_log_t; +logging_log_file(corosync_var_log_t) + +type corosync_var_run_t; +files_pid_file(corosync_var_run_t) + +######################################## +# +# Local policy +# + +allow corosync_t self:capability { dac_override fowner ipc_lock setgid setuid sys_admin sys_nice sys_resource }; +# for hearbeat +allow corosync_t self:capability { chown net_raw }; +allow corosync_t self:process { setpgid setrlimit setsched signal signull }; +allow corosync_t self:fifo_file rw_fifo_file_perms; +allow corosync_t self:sem create_sem_perms; +allow corosync_t self:shm create_shm_perms; +allow corosync_t self:unix_dgram_socket sendto; +allow corosync_t self:unix_stream_socket { accept connectto listen }; + +manage_dirs_pattern(corosync_t, corosync_tmp_t, corosync_tmp_t) +manage_files_pattern(corosync_t, corosync_tmp_t, corosync_tmp_t) +relabel_files_pattern(corosync_t, corosync_tmp_t, corosync_tmp_t) +files_tmp_filetrans(corosync_t, corosync_tmp_t, { dir file }) + +manage_dirs_pattern(corosync_t, corosync_tmpfs_t, corosync_tmpfs_t) +manage_files_pattern(corosync_t, corosync_tmpfs_t, corosync_tmpfs_t) +fs_tmpfs_filetrans(corosync_t, corosync_tmpfs_t, { dir file }) + +manage_files_pattern(corosync_t, corosync_var_lib_t, corosync_var_lib_t) +manage_dirs_pattern(corosync_t, corosync_var_lib_t, corosync_var_lib_t) +manage_sock_files_pattern(corosync_t, corosync_var_lib_t, corosync_var_lib_t) +manage_fifo_files_pattern(corosync_t, corosync_var_lib_t,corosync_var_lib_t) +files_var_lib_filetrans(corosync_t,corosync_var_lib_t, { dir fifo_file file sock_file }) + +create_files_pattern(corosync_t, corosync_var_log_t, corosync_var_log_t) +append_files_pattern(corosync_t, corosync_var_log_t, corosync_var_log_t) +setattr_files_pattern(corosync_t, corosync_var_log_t, corosync_var_log_t) +logging_log_filetrans(corosync_t, corosync_var_log_t, file) + +manage_files_pattern(corosync_t, corosync_var_run_t, corosync_var_run_t) +manage_sock_files_pattern(corosync_t, corosync_var_run_t, corosync_var_run_t) +manage_dirs_pattern(corosync_t, corosync_var_run_t,corosync_var_run_t) +files_pid_filetrans(corosync_t, corosync_var_run_t, { file sock_file dir }) + +can_exec(corosync_t, corosync_exec_t) + +kernel_read_all_sysctls(corosync_t) +kernel_read_network_state(corosync_t) +kernel_read_system_state(corosync_t) + +corecmd_exec_bin(corosync_t) +corecmd_exec_shell(corosync_t) + +corenet_all_recvfrom_unlabeled(corosync_t) +corenet_all_recvfrom_netlabel(corosync_t) +corenet_udp_sendrecv_generic_if(corosync_t) +corenet_udp_sendrecv_generic_node(corosync_t) +corenet_udp_bind_generic_node(corosync_t) + +corenet_sendrecv_netsupport_server_packets(corosync_t) +corenet_udp_bind_netsupport_port(corosync_t) +corenet_udp_sendrecv_netsupport_port(corosync_t) + +dev_read_sysfs(corosync_t) +dev_read_urand(corosync_t) + +domain_read_all_domains_state(corosync_t) + +files_manage_mounttab(corosync_t) +files_read_usr_files(corosync_t) + +auth_use_nsswitch(corosync_t) + +init_domtrans_script(corosync_t) +init_read_script_state(corosync_t) +init_rw_script_tmp_files(corosync_t) + +logging_send_syslog_msg(corosync_t) + +miscfiles_read_localization(corosync_t) + +userdom_read_user_tmp_files(corosync_t) +userdom_manage_user_tmpfs_files(corosync_t) + +optional_policy(` + ccs_read_config(corosync_t) +') + +optional_policy(` + cmirrord_rw_shm(corosync_t) +') + +optional_policy(` + consoletype_exec(corosync_t) +') + +optional_policy(` + dbus_system_bus_client(corosync_t) +') + +optional_policy(` + drbd_domtrans(corosync_t) +') + +optional_policy(` + qpidd_rw_shm(corosync_t) +') + +optional_policy(` + rhcs_getattr_fenced_exec_files(corosync_t) + rhcs_rw_cluster_shm(corosync_t) + rhcs_rw_cluster_semaphores(corosync_t) + rhcs_stream_connect_cluster(corosync_t) +') + +optional_policy(` + rgmanager_manage_tmpfs_files(corosync_t) +') + +optional_policy(` + rpc_search_nfs_state_data(corosync_t) +')
\ No newline at end of file |