diff --git a/policy/modules/roles/staff.te b/policy/modules/roles/staff.te index fb513ee5f..29bce30e9 100644 --- a/policy/modules/roles/staff.te +++ b/policy/modules/roles/staff.te @@ -95,7 +95,7 @@ ifndef(`distro_redhat',` ') optional_policy(` - cron_role(staff_r, staff_t) + cron_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 338bd8364..1040350c9 100644 --- a/policy/modules/roles/sysadm.te +++ b/policy/modules/roles/sysadm.te @@ -1222,7 +1222,7 @@ ifndef(`distro_redhat',` ') optional_policy(` - cron_admin_role(sysadm_r, sysadm_t) + cron_admin_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 0ec0eb7e6..539d26333 100644 --- a/policy/modules/roles/unprivuser.te +++ b/policy/modules/roles/unprivuser.te @@ -59,7 +59,7 @@ ifndef(`distro_redhat',` ') optional_policy(` - cron_role(user_r, user_t) + cron_role(user, user_t, user_application_exec_domain, user_r) ') optional_policy(` diff --git a/policy/modules/services/cron.if b/policy/modules/services/cron.if index d55b3f4af..ecf895216 100644 --- a/policy/modules/services/cron.if +++ b/policy/modules/services/cron.if @@ -44,19 +44,30 @@ template(`cron_common_crontab_template',` ## ## Role access for cron. ## -## +## ## -## 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(`cron_role',` +template(`cron_role',` gen_require(` type cronjob_t, crontab_t, crontab_exec_t; type user_cron_spool_t, crond_t; @@ -68,7 +79,7 @@ interface(`cron_role',` # Declarations # - role $1 types { cronjob_t crontab_t }; + role $4 types { cronjob_t crontab_t }; ############################## # @@ -77,7 +88,7 @@ interface(`cron_role',` domtrans_pattern($2, crontab_exec_t, crontab_t) - dontaudit crond_t $2:process { noatsecure rlimitinh siginh }; + dontaudit crond_t $3:process { noatsecure rlimitinh siginh }; allow $2 crond_t:process sigchld; allow $2 user_cron_spool_t:file rw_inherited_file_perms; @@ -126,18 +137,29 @@ interface(`cron_role',` ## ## Role access for unconfined cron. ## -## +## ## -## 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(`cron_unconfined_role',` +template(`cron_unconfined_role',` gen_require(` type unconfined_cronjob_t, crontab_t, crontab_exec_t; type crond_t, user_cron_spool_t; @@ -149,7 +171,7 @@ interface(`cron_unconfined_role',` # Declarations # - role $1 types { unconfined_cronjob_t crontab_t }; + role $4 types { unconfined_cronjob_t crontab_t }; ############################## # @@ -207,18 +229,29 @@ interface(`cron_unconfined_role',` ## ## Role access for admin cron. ## -## +## ## -## 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(`cron_admin_role',` +template(`cron_admin_role',` gen_require(` type cronjob_t, crontab_exec_t, admin_crontab_t; class passwd crontab; @@ -231,7 +264,7 @@ interface(`cron_admin_role',` # Declarations # - role $1 types { cronjob_t admin_crontab_t }; + role $4 types { cronjob_t admin_crontab_t }; ############################## # diff --git a/policy/modules/system/unconfined.te b/policy/modules/system/unconfined.te index 22a9a8d42..f02791dde 100644 --- a/policy/modules/system/unconfined.te +++ b/policy/modules/system/unconfined.te @@ -84,7 +84,7 @@ optional_policy(` ') optional_policy(` - cron_unconfined_role(unconfined_r, unconfined_t) + cron_unconfined_role(unconfined, unconfined_t, unconfined_application_exec_domain, unconfined_r) ') optional_policy(`