This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Oreon-Lime-R2/selinux-policy/selinux-policy-bc228bd/selinux-policy-bc228bd0c249a9e4aa3dcf238c2b1bb138943b07/policy/modules/contrib/vmware.if

155 lines
3.3 KiB
Text
Raw Normal View History

## <summary>VMWare Workstation virtual machines.</summary>
########################################
## <summary>
## Role access for vmware.
## </summary>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <param name="domain">
## <summary>
## User domain for the role.
## </summary>
## </param>
#
interface(`vmware_role',`
gen_require(`
type vmware_t, vmware_exec_t, vmware_file_t;
type vmware_conf_t, vmware_tmp_t, vmware_tmpfs_t;
')
role $1 types vmware_t;
domtrans_pattern($2, vmware_exec_t, vmware_t)
ps_process_pattern($2, vmware_t)
allow $2 vmware_t:process signal_perms;
tunable_policy(`deny_ptrace',`',`
allow $2 vmware_t:process ptrace;
')
allow $2 { vmware_tmp_t vmware_file_t }:dir { manage_dir_perms relabel_dir_perms };
allow $2 { vmware_conf_t vmware_file_t vmware_tmp_t vmware_tmpfs_t }:file { manage_file_perms relabel_file_perms };
allow $2 { vmware_tmp_t vmware_tmpfs_t }:sock_file { manage_sock_file_perms relabel_sock_file_perms };
allow $2 vmware_tmpfs_t:lnk_file { manage_lnk_file_perms relabel_lnk_file_perms };
allow $2 vmware_tmpfs_t:fifo_file { manage_fifo_file_perms relabel_fifo_file_perms };
userdom_user_home_dir_filetrans($2, vmware_file_t, dir, ".vmware")
userdom_user_home_dir_filetrans($2, vmware_file_t, dir, "vmware")
')
########################################
## <summary>
## Execute vmware host executables
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_exec_host',`
gen_require(`
type vmware_host_exec_t;
')
corecmd_search_bin($1)
can_exec($1, vmware_host_exec_t)
')
########################################
## <summary>
## Read vmware system configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_read_system_config',`
gen_require(`
type vmware_sys_conf_t;
')
files_search_etc($1)
allow $1 vmware_sys_conf_t:file read_file_perms;
')
########################################
## <summary>
## Append vmware system configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_append_system_config',`
gen_require(`
type vmware_sys_conf_t;
')
files_search_etc($1)
allow $1 vmware_sys_conf_t:file append_file_perms;
')
########################################
## <summary>
## Append vmware log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_append_log',`
gen_require(`
type vmware_log_t;
')
logging_search_logs($1)
append_files_pattern($1, vmware_log_t, vmware_log_t)
')
########################################
## <summary>
## Transition to vmware content
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_filetrans_content',`
gen_require(`
type vmware_log_t;
')
logging_log_filetrans($1, vmware_log_t, file)
')
########################################
## <summary>
## Manage vmware log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`vmware_manage_log',`
gen_require(`
type vmware_log_t;
')
manage_files_pattern($1, vmware_log_t, vmware_log_t)
')