policy_module(plymouthd, 1.2.0) ######################################## # # Declarations # type plymouth_t; type plymouth_exec_t; application_domain(plymouth_t, plymouth_exec_t) role system_r types plymouth_t; type plymouthd_t; type plymouthd_exec_t; init_daemon_domain(plymouthd_t, plymouthd_exec_t) type plymouthd_spool_t; files_spool_file(plymouthd_spool_t) type plymouthd_var_lib_t; files_type(plymouthd_var_lib_t) type plymouthd_var_log_t; logging_log_file(plymouthd_var_log_t) type plymouthd_var_run_t; files_pid_file(plymouthd_var_run_t) ######################################## # # Plymouthd private policy # allow plymouthd_t self:capability { sys_admin sys_chroot sys_tty_config }; allow plymouthd_t self:capability2 { block_suspend bpf }; dontaudit plymouthd_t self:capability{ dac_read_search }; dontaudit plymouthd_t self:capability2 checkpoint_restore; allow plymouthd_t self:process { signal getsched }; allow plymouthd_t self:netlink_kobject_uevent_socket create_socket_perms; allow plymouthd_t self:fifo_file rw_fifo_file_perms; allow plymouthd_t self:unix_stream_socket create_stream_socket_perms; manage_dirs_pattern(plymouthd_t, plymouthd_spool_t, plymouthd_spool_t) manage_files_pattern(plymouthd_t, plymouthd_spool_t, plymouthd_spool_t) manage_sock_files_pattern(plymouthd_t, plymouthd_spool_t, plymouthd_spool_t) files_spool_filetrans(plymouthd_t, plymouthd_spool_t, { file dir sock_file }) manage_dirs_pattern(plymouthd_t, plymouthd_var_lib_t, plymouthd_var_lib_t) manage_files_pattern(plymouthd_t, plymouthd_var_lib_t, plymouthd_var_lib_t) files_var_lib_filetrans(plymouthd_t, plymouthd_var_lib_t, { file dir }) manage_dirs_pattern(plymouthd_t, plymouthd_var_log_t, plymouthd_var_log_t) manage_files_pattern(plymouthd_t, plymouthd_var_log_t, plymouthd_var_log_t) logging_log_filetrans(plymouthd_t, plymouthd_var_log_t, { file dir }) manage_dirs_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) manage_files_pattern(plymouthd_t, plymouthd_var_run_t, plymouthd_var_run_t) files_pid_filetrans(plymouthd_t, plymouthd_var_run_t, { file dir }) kernel_read_system_state(plymouthd_t) kernel_request_load_module(plymouthd_t) kernel_change_ring_buffer_level(plymouthd_t) corecmd_exec_bin(plymouthd_t) dev_rw_dri(plymouthd_t) dev_read_sysfs(plymouthd_t) dev_read_framebuffer(plymouthd_t) dev_write_framebuffer(plymouthd_t) dev_map_framebuffer(plymouthd_t) dev_rw_xserver_misc(plymouthd_t) domain_use_interactive_fds(plymouthd_t) fs_getattr_all_fs(plymouthd_t) fs_search_efivarfs_dirs(plymouthd_t) term_getattr_pty_fs(plymouthd_t) term_use_all_terms(plymouthd_t) term_use_ptmx(plymouthd_t) term_use_usb_ttys(plymouthd_t) init_signal(plymouthd_t) init_rw_stream_sockets(plymouth_t) logging_link_generic_logs(plymouthd_t) logging_delete_generic_logs(plymouthd_t) auth_use_nsswitch(plymouthd_t) miscfiles_read_fonts(plymouthd_t) miscfiles_manage_fonts_cache(plymouthd_t) userdom_read_admin_home_files(plymouthd_t) term_use_unallocated_ttys(plymouthd_t) optional_policy(` gnome_read_config(plymouthd_t) ') optional_policy(` sssd_stream_connect(plymouthd_t) ') optional_policy(` udev_read_pid_files(plymouthd_t) ') optional_policy(` xserver_xdm_manage_spool(plymouthd_t) xserver_read_state_xdm(plymouthd_t) ') ######################################## # # Plymouth private policy # allow plymouth_t self:process signal; allow plymouth_t self:fifo_file rw_file_perms; allow plymouth_t self:unix_stream_socket create_stream_socket_perms; kernel_read_system_state(plymouth_t) kernel_stream_connect(plymouth_t) domain_use_interactive_fds(plymouth_t) term_use_ptmx(plymouth_t) sysnet_read_config(plymouth_t) plymouthd_stream_connect(plymouth_t) optional_policy(` lvm_domtrans(plymouth_t) ')