2006-05-03 19:58:01 +00:00
|
|
|
## <summary>Pyzor is a distributed, collaborative spam detection and filtering network.</summary>
|
|
|
|
|
2008-11-05 16:10:46 +00:00
|
|
|
########################################
|
2007-10-02 16:04:50 +00:00
|
|
|
## <summary>
|
2008-11-05 16:10:46 +00:00
|
|
|
## Role access for pyzor
|
2007-10-02 16:04:50 +00:00
|
|
|
## </summary>
|
2008-11-05 16:10:46 +00:00
|
|
|
## <param name="role">
|
|
|
|
## <summary>
|
|
|
|
## Role allowed access
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <param name="domain">
|
2007-10-02 16:04:50 +00:00
|
|
|
## <summary>
|
2008-11-05 16:10:46 +00:00
|
|
|
## User domain for the role
|
2007-10-02 16:04:50 +00:00
|
|
|
## </summary>
|
|
|
|
## </param>
|
2010-09-20 18:22:28 +00:00
|
|
|
## <rolecap/>
|
2007-10-02 16:04:50 +00:00
|
|
|
#
|
2008-11-05 16:10:46 +00:00
|
|
|
interface(`pyzor_role',`
|
2007-10-02 16:04:50 +00:00
|
|
|
gen_require(`
|
2008-11-05 16:10:46 +00:00
|
|
|
type pyzor_t, pyzor_exec_t;
|
|
|
|
type pyzor_home_t, pyzor_var_lib_t, pyzor_tmp_t;
|
2007-10-02 16:04:50 +00:00
|
|
|
')
|
|
|
|
|
2008-11-05 16:10:46 +00:00
|
|
|
role $1 types pyzor_t;
|
|
|
|
|
|
|
|
# Transition from the user domain to the derived domain.
|
|
|
|
domtrans_pattern($2, pyzor_exec_t, pyzor_t)
|
2007-10-02 16:04:50 +00:00
|
|
|
|
2008-11-05 16:10:46 +00:00
|
|
|
# allow ps to show pyzor and allow the user to kill it
|
|
|
|
ps_process_pattern($2, pyzor_t)
|
2010-09-20 18:24:49 +00:00
|
|
|
allow $2 pyzor_t:process { ptrace signal_perms };
|
2007-10-02 16:04:50 +00:00
|
|
|
')
|
|
|
|
|
2007-03-08 17:53:52 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Send generic signals to pyzor
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`pyzor_signal',`
|
|
|
|
gen_require(`
|
|
|
|
type pyzor_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 pyzor_t:process signal;
|
|
|
|
')
|
|
|
|
|
2006-05-03 19:58:01 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute pyzor with a domain transition.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
2010-08-05 13:03:19 +00:00
|
|
|
## Domain allowed to transition.
|
2006-05-03 19:58:01 +00:00
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`pyzor_domtrans',`
|
|
|
|
gen_require(`
|
|
|
|
type pyzor_exec_t, pyzor_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_usr($1)
|
|
|
|
corecmd_search_bin($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
domtrans_pattern($1, pyzor_exec_t, pyzor_t)
|
2006-05-03 19:58:01 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute pyzor in the caller domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`pyzor_exec',`
|
|
|
|
gen_require(`
|
|
|
|
type pyzor_exec_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_usr($1)
|
|
|
|
corecmd_search_bin($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
can_exec($1, pyzor_exec_t)
|
2006-05-03 19:58:01 +00:00
|
|
|
')
|
2010-08-26 13:41:21 +00:00
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## All of the rules required to administrate
|
|
|
|
## an pyzor environment
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <param name="role">
|
|
|
|
## <summary>
|
|
|
|
## The role to be allowed to manage the pyzor domain.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <rolecap/>
|
|
|
|
#
|
|
|
|
interface(`pyzor_admin',`
|
|
|
|
gen_require(`
|
|
|
|
type pyzord_t, pyzor_tmp_t, pyzord_log_t;
|
2010-09-20 17:44:58 +00:00
|
|
|
type pyzor_etc_t, pyzor_var_lib_t, pyzord_initrc_exec_t;
|
2010-08-26 13:41:21 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 pyzord_t:process { ptrace signal_perms };
|
|
|
|
ps_process_pattern($1, pyzord_t)
|
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
Whitespace, newline and tab fixes.
2010-09-20 17:40:18 +00:00
|
|
|
|
2010-08-26 13:41:21 +00:00
|
|
|
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)
|
|
|
|
')
|