diff --git a/policy/modules/apps/vmware.if b/policy/modules/apps/vmware.if index 20a1fb296..ce4da5476 100644 --- a/policy/modules/apps/vmware.if +++ b/policy/modules/apps/vmware.if @@ -4,29 +4,40 @@ ## ## Role access for vmware. ## -## +## ## -## Role allowed access. +## The prefix of the user role (e.g., user +## is the prefix for user_r). ## ## -## +## ## ## User domain for the role. ## ## +## +## +## User exec domain for execute and transition access. +## +## +## +## +## Role allowed access +## +## # -interface(`vmware_role',` +template(`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; + role $4 types vmware_t; - domtrans_pattern($2, vmware_exec_t, vmware_t) + domtrans_pattern($3, vmware_exec_t, vmware_t) - ps_process_pattern($2, vmware_t) - allow $2 vmware_t:process { ptrace signal_perms }; + ps_process_pattern($3, vmware_t) + allow $3 vmware_t:process { ptrace signal_perms }; 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 }; @@ -35,6 +46,10 @@ interface(`vmware_role',` 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") + + optional_policy(` + systemd_user_app_status($1, vmware_t) + ') ') ######################################## diff --git a/policy/modules/roles/staff.te b/policy/modules/roles/staff.te index 26a0b35be..bb5325e31 100644 --- a/policy/modules/roles/staff.te +++ b/policy/modules/roles/staff.te @@ -199,7 +199,7 @@ ifndef(`distro_redhat',` ') optional_policy(` - vmware_role(staff_r, staff_t) + vmware_role(staff, staff_t, staff_application_exec_domain, staff_r) ') optional_policy(` diff --git a/policy/modules/roles/sysadm.te b/policy/modules/roles/sysadm.te index 384cbe57b..d81c87956 100644 --- a/policy/modules/roles/sysadm.te +++ b/policy/modules/roles/sysadm.te @@ -1143,7 +1143,7 @@ optional_policy(` ') optional_policy(` - vmware_role(sysadm_r, sysadm_t) + vmware_role(sysadm, sysadm_t, sysadm_application_exec_domain, sysadm_r) ') optional_policy(` diff --git a/policy/modules/roles/unprivuser.te b/policy/modules/roles/unprivuser.te index c5396f67a..fb0b94637 100644 --- a/policy/modules/roles/unprivuser.te +++ b/policy/modules/roles/unprivuser.te @@ -183,7 +183,7 @@ ifndef(`distro_redhat',` ') optional_policy(` - vmware_role(user_r, user_t) + vmware_role(user, user_t, user_application_exec_domain, user_r) ') optional_policy(`