selinux-refpolicy/policy/modules/system/xen.if
2006-07-12 20:32:27 +00:00

130 lines
2.7 KiB
Plaintext

## <summary>Xen hypervisor</summary>
########################################
## <summary>
## Execute a domain transition to run xend.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed to transition.
## </summary>
## </param>
#
interface(`xen_domtrans',`
gen_require(`
type xend_t, xend_exec_t;
')
domain_auto_trans($1,xend_exec_t,xend_t)
allow $1 xend_t:fd use;
allow xend_t $1:fd use;
allow xend_t $1:fifo_file rw_file_perms;
allow xend_t $1:process sigchld;
')
########################################
## <summary>
## Allow the specified domain to append
## xend log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed to transition.
## </summary>
## </param>
#
interface(`xen_append_log',`
gen_require(`
type var_log_t, xend_var_log_t;
')
logging_search_logs($1)
allow $1 xend_var_log_t:file { getattr append };
dontaudit $1 xend_var_log_t:file write;
')
########################################
## <summary>
## Do not audit attempts to read and write
## Xen unix domain stream sockets. These
## are leaked file descriptors.
## </summary>
## <param name="domain">
## <summary>
## Domain to not audit.
## </summary>
## </param>
#
interface(`xen_dontaudit_rw_unix_stream_sockets',`
gen_require(`
type xend_t;
')
dontaudit $1 xend_t:unix_stream_socket { read write };
')
########################################
## <summary>
## Connect to xenstored over an unix stream socket.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`xen_stream_connect_xenstore',`
gen_require(`
type xenstored_t, xenstored_var_run_t;
')
files_search_pids($1)
allow $1 xenstored_var_run_t:dir search;
allow $1 xenstored_var_run_t:sock_file { getattr write };
allow $1 xenstored_t:unix_stream_socket connectto;
')
########################################
## <summary>
## Connect to xend over an unix domain stream socket.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`xen_stream_connect',`
gen_require(`
type xend_t, xend_var_run_t;
')
files_search_pids($1)
allow $1 xend_var_run_t:dir search;
allow $1 xend_var_run_t:sock_file { getattr write };
allow $1 xend_t:unix_stream_socket connectto;
')
########################################
## <summary>
## Execute a domain transition to run xm.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed to transition.
## </summary>
## </param>
#
interface(`xen_domtrans_xm',`
gen_require(`
type xm_t, xm_exec_t;
')
domain_auto_trans($1,xm_exec_t,xm_t)
allow xm_t $1:fd use;
allow xm_t $1:fifo_file rw_file_perms;
allow xm_t $1:process sigchld;
')