## Xen hypervisor. ######################################## ## ## Execute a domain transition to run xend. ## ## ## ## Domain allowed to transition. ## ## # interface(`xen_domtrans',` gen_require(` type xend_t, xend_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, xend_exec_t, xend_t) ') ######################################## ## ## Execute xend in the caller domain. ## ## ## ## Domain allowed access. ## ## # interface(`xen_exec',` gen_require(` type xend_exec_t; ') corecmd_search_bin($1) can_exec($1, xend_exec_t) ') ######################################## ## ## Inherit and use xen file descriptors. ## ## ## ## Domain allowed access. ## ## # interface(`xen_use_fds',` gen_require(` type xend_t; ') allow $1 xend_t:fd use; ') ######################################## ## ## Do not audit attempts to inherit ## xen file descriptors. ## ## ## ## Domain to not audit. ## ## # interface(`xen_dontaudit_use_fds',` gen_require(` type xend_t; ') dontaudit $1 xend_t:fd use; ') ######################################## ## ## Create, read, write, and delete ## xend image directories. ## ## ## ## Domain allowed access. ## ## # interface(`xen_manage_image_dirs',` gen_require(` type xend_var_lib_t; ') files_search_var_lib($1) manage_dirs_pattern($1, xend_var_lib_t, xend_var_lib_t) ') ######################################## ## ## Read xend image files. ## ## ## ## Domain allowed access. ## ## # interface(`xen_read_image_files',` gen_require(` type xen_image_t, xend_var_lib_t; ') files_list_var_lib($1) list_dirs_pattern($1, xend_var_lib_t, xend_var_lib_t) read_files_pattern($1, { xend_var_lib_t xen_image_t }, xen_image_t) ') ######################################## ## ## Read and write xend image files. ## ## ## ## Domain allowed access. ## ## # interface(`xen_rw_image_files',` gen_require(` type xen_image_t, xend_var_lib_t; ') files_list_var_lib($1) allow $1 xend_var_lib_t:dir search_dir_perms; rw_files_pattern($1, xen_image_t, xen_image_t) ') ######################################## ## ## Append xend log files. ## ## ## ## Domain allowed access. ## ## # interface(`xen_append_log',` gen_require(` type xend_var_log_t; ') logging_search_logs($1) append_files_pattern($1, xend_var_log_t, xend_var_log_t) dontaudit $1 xend_var_log_t:file write; ') ######################################## ## ## Create, read, write, and delete ## xend log files. ## ## ## ## Domain allowed access. ## ## # interface(`xen_manage_log',` gen_require(` type xend_var_log_t; ') logging_search_logs($1) manage_dirs_pattern($1, xend_var_log_t, xend_var_log_t) manage_files_pattern($1, xend_var_log_t, xend_var_log_t) ') ####################################### ## ## Read xenstored pid files. ## ## ## ## Domain allowed access. ## ## # interface(`xen_read_xenstored_pid_files',` gen_require(` type xenstored_var_run_t; ') files_search_pids($1) read_files_pattern($1, xenstored_var_run_t, xenstored_var_run_t) ') ######################################## ## ## Do not audit attempts to read and write ## Xen unix domain stream sockets. ## ## ## ## Domain to not audit. ## ## # interface(`xen_dontaudit_rw_unix_stream_sockets',` gen_require(` type xend_t; ') dontaudit $1 xend_t:unix_stream_socket { read write }; ') ######################################## ## ## Connect to xenstored with a unix ## domain stream socket. ## ## ## ## Domain allowed access. ## ## # interface(`xen_stream_connect_xenstore',` gen_require(` type xenstored_t, xenstored_var_run_t; ') files_search_pids($1) stream_connect_pattern($1, xenstored_var_run_t, xenstored_var_run_t, xenstored_t) ') ######################################## ## ## Connect to xend with a unix ## domain stream socket. ## ## ## ## Domain allowed access. ## ## # interface(`xen_stream_connect',` gen_require(` type xend_t, xend_var_run_t, xend_var_lib_t; ') files_search_pids($1) stream_connect_pattern($1, xend_var_run_t, xend_var_run_t, xend_t) files_search_var_lib($1) stream_connect_pattern($1, xend_var_lib_t, xend_var_lib_t, xend_t) ') ######################################## ## ## Create in a xend_var_run_t directory ## ## ## ## Domain allowed access. ## ## ## ## ## The type of the object to be created. ## ## ## ## ## The object class of the object being created. ## ## # interface(`xen_pid_filetrans',` gen_require(` type xend_var_run_t; ') filetrans_pattern($1, xend_var_run_t, $2, $3) ') ######################################## ## ## Execute a domain transition to run xm. ## ## ## ## Domain allowed to transition. ## ## # interface(`xen_domtrans_xm',` gen_require(` type xm_t, xm_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, xm_exec_t, xm_t) ') ######################################## ## ## Connect to xm with a unix ## domain stream socket. ## ## ## ## Domain allowed access. ## ## # interface(`xen_stream_connect_xm',` gen_require(` type xm_t; ') files_search_pids($1) stream_connect_pattern($1, xenstored_var_run_t, xenstored_var_run_t, xm_t) ')