policy_module(kdump, 1.2.0) ####################################### # # Declarations # type kdump_t; type kdump_exec_t; init_system_domain(kdump_t, kdump_exec_t) type kdump_etc_t; files_config_file(kdump_etc_t) type kdump_initrc_exec_t; init_script_file(kdump_initrc_exec_t) type kdump_unit_file_t alias kdumpctl_unit_file_t; systemd_unit_file(kdump_unit_file_t) type kdumpctl_t; type kdumpctl_exec_t; init_daemon_domain(kdumpctl_t, kdumpctl_exec_t) init_initrc_domain(kdumpctl_t) type kdumpctl_tmp_t; files_tmp_file(kdumpctl_tmp_t) ##################################### # # kdump local policy # allow kdump_t self:capability { sys_boot dac_override }; allow kdump_t self:capability2 compromise_kernel; read_files_pattern(kdump_t, kdump_etc_t, kdump_etc_t) files_read_etc_runtime_files(kdump_t) files_read_kernel_img(kdump_t) kernel_read_system_state(kdump_t) kernel_read_core_if(kdump_t) kernel_read_debugfs(kdump_t) kernel_request_load_module(kdump_t) dev_read_framebuffer(kdump_t) dev_read_sysfs(kdump_t) term_use_console(kdump_t) ####################################### # # kdumpctl local policy # #cjp:almost all rules are needed by dracut kdump_domtrans(kdumpctl_t) allow kdumpctl_t self:capability { dac_override sys_chroot }; allow kdumpctl_t self:process setfscreate; allow kdumpctl_t self:fifo_file rw_fifo_file_perms; allow kdumpctl_t self:unix_stream_socket create_stream_socket_perms; manage_dirs_pattern(kdumpctl_t, kdumpctl_tmp_t, kdumpctl_tmp_t) manage_chr_files_pattern(kdumpctl_t, kdumpctl_tmp_t, kdumpctl_tmp_t) manage_files_pattern(kdumpctl_t, kdumpctl_tmp_t, kdumpctl_tmp_t) manage_lnk_files_pattern(kdumpctl_t, kdumpctl_tmp_t, kdumpctl_tmp_t) files_tmp_filetrans(kdumpctl_t, kdumpctl_tmp_t, { file dir lnk_file }) can_exec(kdumpctl_t, kdumpctl_tmp_t) read_files_pattern(kdumpctl_t, kdump_etc_t, kdump_etc_t) kernel_read_system_state(kdumpctl_t) corecmd_exec_bin(kdumpctl_t) corecmd_exec_shell(kdumpctl_t) dev_read_sysfs(kdumpctl_t) # dracut dev_manage_all_dev_nodes(kdumpctl_t) domain_use_interactive_fds(kdumpctl_t) files_create_kernel_img(kdumpctl_t) files_read_etc_runtime_files(kdumpctl_t) files_read_kernel_modules(kdumpctl_t) files_getattr_all_dirs(kdumpctl_t) files_delete_kernel(kdumpctl_t) fs_getattr_all_fs(kdumpctl_t) fs_search_all(kdumpctl_t) application_executable_ioctl(kdumpctl_t) auth_read_passwd(kdumpctl_t) init_exec(kdumpctl_t) systemd_exec_systemctl(kdumpctl_t) systemd_read_unit_files(kdumpctl_t) libs_exec_ld_so(kdumpctl_t) logging_send_syslog_msg(kdumpctl_t) # Need log file from /var/log/dracut.log logging_write_generic_logs(kdumpctl_t) optional_policy(` gpg_exec(kdumpctl_t) ') optional_policy(` lvm_read_config(kdumpctl_t) ') optional_policy(` modutils_domtrans_insmod(kdumpctl_t) modutils_list_module_config(kdumpctl_t) modutils_read_module_config(kdumpctl_t) ') optional_policy(` plymouthd_domtrans_plymouth(kdumpctl_t) ') optional_policy(` ssh_exec(kdumpctl_t) ') optional_policy(` unconfined_domain(kdumpctl_t) ')