## Systemd components (not PID 1) ###################################### ## ## Make the specified type usable as an ## log parse environment type. ## ## ## ## Type to be used as a log parse environment type. ## ## # interface(`systemd_log_parse_environment',` gen_require(` attribute systemd_log_parse_env_type; ') typeattribute $1 systemd_log_parse_env_type; ') ###################################### ## ## Read systemd_login PID files. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_read_logind_pids',` gen_require(` type systemd_logind_var_run_t; ') files_search_pids($1) allow $1 systemd_logind_var_run_t:dir list_dir_perms; allow $1 systemd_logind_var_run_t:file read_file_perms; ') ###################################### ## ## Manage systemd_login PID pipes. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_manage_logind_pid_pipes',` gen_require(` type systemd_logind_var_run_t; ') files_search_pids($1) manage_fifo_files_pattern($1, systemd_logind_var_run_t, systemd_logind_var_run_t) ') ###################################### ## ## Write systemd_login named pipe. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_write_logind_pid_pipes',` gen_require(` type systemd_logind_var_run_t; ') init_search_run($1) files_search_pids($1) allow $1 systemd_logind_var_run_t:fifo_file { getattr write }; ') ###################################### ## ## Use inherited systemd ## logind file descriptors. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_use_logind_fds',` gen_require(` type systemd_logind_t; ') allow $1 systemd_logind_t:fd use; ') ###################################### ## ## Read logind sessions files. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_read_logind_sessions_files',` gen_require(` type systemd_sessions_var_run_t, systemd_logind_t; ') allow $1 systemd_logind_t:fd use; init_search_run($1) allow $1 systemd_sessions_var_run_t:dir list_dir_perms; read_files_pattern($1, systemd_sessions_var_run_t, systemd_sessions_var_run_t) ') ###################################### ## ## Write inherited logind sessions pipes. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_write_inherited_logind_sessions_pipes',` gen_require(` type systemd_logind_t, systemd_sessions_var_run_t; ') allow $1 systemd_logind_t:fd use; allow $1 systemd_sessions_var_run_t:fifo_file write; allow systemd_logind_t $1:process signal; ') ######################################## ## ## Send and receive messages from ## systemd logind over dbus. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_dbus_chat_logind',` gen_require(` type systemd_logind_t; class dbus send_msg; ') allow $1 systemd_logind_t:dbus send_msg; allow systemd_logind_t $1:dbus send_msg; ') ######################################## ## ## Allow process to write to systemd_kmod_conf_t. ## ## ## ## Domain allowed access. ## ## ## # interface(`systemd_write_kmod_files',` refpolicywarn(`$0($*) has been deprecated.') ') ######################################## ## ## Get the system status information from systemd_login ## ## ## ## Domain allowed access. ## ## # interface(`systemd_status_logind',` gen_require(` type systemd_logind_t; class service status; ') allow $1 systemd_logind_t:service status; ') ######################################## ## ## Send systemd_login a null signal. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_signull_logind',` gen_require(` type systemd_logind_t; ') allow $1 systemd_logind_t:process signull; ') ######################################## ## ## Allow reading /run/systemd/machines ## ## ## ## Domain that can access the machines files ## ## # interface(`systemd_read_machines',` gen_require(` type systemd_machined_var_run_t; ') allow $1 systemd_machined_var_run_t:dir list_dir_perms; allow $1 systemd_machined_var_run_t:file read_file_perms; ') ######################################## ## ## allow systemd_passwd_agent to inherit fds ## ## ## ## Domain that owns the fds ## ## # interface(`systemd_use_passwd_agent_fds',` gen_require(` type systemd_passwd_agent_t; ') allow systemd_passwd_agent_t $1:fd use; ') ####################################### ## ## Allow a systemd_passwd_agent_t process to interact with a daemon ## that needs a password from the sysadmin. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_use_passwd_agent',` gen_require(` type systemd_passwd_agent_t; type systemd_passwd_var_run_t; ') manage_files_pattern($1, systemd_passwd_var_run_t, systemd_passwd_var_run_t) manage_sock_files_pattern($1, systemd_passwd_var_run_t, systemd_passwd_var_run_t) allow systemd_passwd_agent_t $1:process signull; allow systemd_passwd_agent_t $1:unix_dgram_socket sendto; ') ######################################## ## ## Transition to systemd_passwd_var_run_t when creating dirs ## ## ## ## Domain allowed access. ## ## # interface(`systemd_filetrans_passwd_runtime_dirs',` gen_require(` type systemd_passwd_var_run_t; ') init_pid_filetrans($1, systemd_passwd_var_run_t, dir, "ask-password-block") init_pid_filetrans($1, systemd_passwd_var_run_t, dir, "ask-password") ') ######################################## ## ## manage systemd unit dirs and the files in them ## ## ## ## Domain allowed access. ## ## # interface(`systemd_manage_all_units',` gen_require(` attribute systemdunit; ') manage_dirs_pattern($1, systemdunit, systemdunit) manage_files_pattern($1, systemdunit, systemdunit) manage_lnk_files_pattern($1, systemdunit, systemdunit) ') ######################################## ## ## Allow domain to create/manage systemd_journal_t files ## ## ## ## Domain allowed access. ## ## # interface(`systemd_manage_journal_files',` gen_require(` type systemd_journal_t; ') manage_dirs_pattern($1, systemd_journal_t, systemd_journal_t) manage_files_pattern($1, systemd_journal_t, systemd_journal_t) ') ######################################## ## ## Allow systemd_logind_t to read process state for cgroup file ## ## ## ## Domain systemd_logind_t may access. ## ## # interface(`systemd_read_logind_state',` gen_require(` type systemd_logind_t; ') allow systemd_logind_t $1:dir list_dir_perms; allow systemd_logind_t $1:file read_file_perms; ') ######################################## ## ## Allow specified domain to start power units ## ## ## ## Domain to not audit. ## ## # interface(`systemd_start_power_units',` gen_require(` type power_unit_t; class service start; ') allow $1 power_unit_t:service start; ') ######################################## ## ## Make the specified type usable for ## systemd tmpfiles config files. ## ## ## ## Type to be used for systemd tmpfiles config files. ## ## # interface(`systemd_tmpfiles_conf_file',` gen_require(` attribute systemd_tmpfiles_conf_type; ') files_config_file($1) typeattribute $1 systemd_tmpfiles_conf_type; ') ######################################## ## ## Allow the specified domain to create ## the tmpfiles config directory with ## the correct context. ## ## ## ## Domain allowed access. ## ## # interface(`systemd_tmpfiles_creator',` gen_require(` type systemd_tmpfiles_conf_t; ') files_pid_filetrans($1, systemd_tmpfiles_conf_t, dir, "tmpfiles.d") allow $1 systemd_tmpfiles_conf_t:dir create; ') ######################################## ## ## Create an object in the systemd tmpfiles config ## directory, with a private type ## using a type transition. ## ## ## ## Domain allowed access. ## ## ## ## ## The type of the object to be created. ## ## ## ## ## The object class of the object being created. ## ## ## ## ## The name of the object being created. ## ## # interface(`systemd_tmpfiles_conf_filetrans',` gen_require(` type systemd_tmpfiles_conf_t; ') files_search_pids($1) filetrans_pattern($1, systemd_tmpfiles_conf_t, $2, $3, $4) ') ####################################### ## ## Allow systemd_tmpfiles_t to manage filesystem objects ## ## ## ## type of object to manage ## ## ## ## ## object class to manage ## ## # interface(`systemd_tmpfilesd_managed',` gen_require(` type systemd_tmpfiles_t; ') allow systemd_tmpfiles_t $1:$2 { setattr relabelfrom relabelto create }; ')