## Pyzor is a distributed, collaborative spam detection and filtering network. ######################################## ## ## Role access for pyzor ## ## ## ## Role allowed access ## ## ## ## ## User domain for the role ## ## ## # interface(`pyzor_role',` gen_require(` type pyzor_t, pyzor_exec_t; type pyzor_home_t, pyzor_var_lib_t, pyzor_tmp_t; ') role $1 types pyzor_t; # Transition from the user domain to the derived domain. domtrans_pattern($2, pyzor_exec_t, pyzor_t) # allow ps to show pyzor and allow the user to kill it ps_process_pattern($2, pyzor_t) allow $2 pyzor_t:process signal_perms; tunable_policy(`deny_ptrace',`',` allow $2 pyzor_t:process ptrace; ') ') ######################################## ## ## Send generic signals to pyzor ## ## ## ## Domain allowed access. ## ## # interface(`pyzor_signal',` gen_require(` type pyzor_t; ') allow $1 pyzor_t:process signal; ') ######################################## ## ## Execute pyzor with a domain transition. ## ## ## ## Domain allowed to transition. ## ## # interface(`pyzor_domtrans',` gen_require(` type pyzor_exec_t, pyzor_t; ') files_search_usr($1) corecmd_search_bin($1) domtrans_pattern($1, pyzor_exec_t, pyzor_t) ') ######################################## ## ## Execute pyzor in the caller domain. ## ## ## ## Domain allowed access. ## ## # interface(`pyzor_exec',` gen_require(` type pyzor_exec_t; ') files_search_usr($1) corecmd_search_bin($1) can_exec($1, pyzor_exec_t) ') ######################################## ## ## All of the rules required to administrate ## an pyzor environment ## ## ## ## Domain allowed access. ## ## ## ## ## The role to be allowed to manage the pyzor domain. ## ## ## # interface(`pyzor_admin',` gen_require(` type pyzord_t, pyzor_tmp_t, pyzord_log_t; type pyzor_etc_t, pyzor_var_lib_t, pyzord_initrc_exec_t; ') allow $1 pyzord_t:process signal_perms; ps_process_pattern($1, pyzord_t) tunable_policy(`deny_ptrace',`',` allow $1 pyzord_t:process ptrace; ') init_labeled_script_domtrans($1, pyzord_initrc_exec_t) domain_system_change_exemption($1) role_transition $2 pyzord_initrc_exec_t system_r; allow $2 system_r; files_list_tmp($1) admin_pattern($1, pyzor_tmp_t) logging_list_logs($1) admin_pattern($1, pyzord_log_t) files_list_etc($1) admin_pattern($1, pyzor_etc_t) files_list_var_lib($1) admin_pattern($1, pyzor_var_lib_t) ')