diff --git a/policy/modules/services/arpwatch.if b/policy/modules/services/arpwatch.if index 92e2dc8..0c3e830 100644 --- a/policy/modules/services/arpwatch.if +++ b/policy/modules/services/arpwatch.if @@ -2,6 +2,24 @@ ######################################## ## +## Execute arpwatch server in the arpwatch domain. +## +## +## +## The type of the process performing this action. +## +## +# +interface(`arpwatch_initrc_domtrans',` + gen_require(` + type arpwatch_initrc_exec_t; + ') + + init_labeled_script_domtrans($1, arpwatch_initrc_exec_t) +') + +######################################## +## ## Search arpwatch's data file directories. ## ## @@ -15,6 +33,7 @@ interface(`arpwatch_search_data',` type arpwatch_data_t; ') + files_search_var_lib($1) allow $1 arpwatch_data_t:dir search_dir_perms; ') @@ -33,6 +52,7 @@ interface(`arpwatch_manage_data_files',` type arpwatch_data_t; ') + files_search_var_lib($1) manage_files_pattern($1, arpwatch_data_t, arpwatch_data_t) ') @@ -51,6 +71,7 @@ interface(`arpwatch_rw_tmp_files',` type arpwatch_tmp_t; ') + files_search_tmp($1) allow $1 arpwatch_tmp_t:file rw_file_perms; ') @@ -69,6 +90,7 @@ interface(`arpwatch_manage_tmp_files',` type arpwatch_tmp_t; ') + files_search_tmp($1) allow $1 arpwatch_tmp_t:file manage_file_perms; ') @@ -112,13 +134,12 @@ interface(`arpwatch_admin',` gen_require(` type arpwatch_t, arpwatch_tmp_t; type arpwatch_data_t, arpwatch_var_run_t; - type arpwatch_initrc_exec_t; ') allow $1 arpwatch_t:process { ptrace signal_perms getattr }; ps_process_pattern($1, arpwatch_t) - init_labeled_script_domtrans($1, arpwatch_initrc_exec_t) + arpwatch_initrc_domtrans($1) domain_system_change_exemption($1) role_transition $2 arpwatch_initrc_exec_t system_r; allow $2 system_r;