Oreon-Lime-R2/selinux-policy/selinux-policy-d9f4a2b/selinux-policy-d9f4a2bbeb91fd95d0c35a90936efb9ea99d2455/policy/modules/contrib/smstools.if

125 lines
2.6 KiB
Text

## <summary> Tools to send and receive short messages through GSM modems or mobile phones.</summary>
#######################################
## <summary>
## Search smsd lib directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`smsd_search_lib',`
gen_require(`
type smsd_var_lib_t;
')
allow $1 smsd_var_lib_t:dir search_dir_perms;
files_search_var_lib($1)
')
#######################################
## <summary>
## Read smsd lib files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`smsd_read_lib_files',`
gen_require(`
type smsd_var_lib_t;
')
files_search_var_lib($1)
read_files_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
')
#######################################
## <summary>
## Manage smsd lib files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`smsd_manage_lib_files',`
gen_require(`
type smsd_var_lib_t;
')
files_search_var_lib($1)
manage_files_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
')
#######################################
## <summary>
## Manage smsd lib directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`smsd_manage_lib_dirs',`
gen_require(`
type smsd_var_lib_t;
')
files_search_var_lib($1)
manage_dirs_pattern($1, smsd_var_lib_t, smsd_var_lib_t)
')
########################################
## <summary>
## All of the rules required to
## administrate an smstools environment.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <rolecap/>
#
interface(`smstools_admin',`
gen_require(`
type smsd_t, smsd_initrc_exec_t, smsd_conf_t;
type smsd_log_t, smsd_var_lib_t, smsd_var_run_t;
type smsd_spool_t;
')
allow $1 smsd_t:process { ptrace signal_perms };
ps_process_pattern($1, smsd_t)
init_labeled_script_domtrans($1, smsd_initrc_exec_t)
domain_system_change_exemption($1)
role_transition $2 smsd_initrc_exec_t system_r;
allow $2 system_r;
files_search_etc($1)
admin_pattern($1, smsd_conf_t)
files_search_var_lib($1)
admin_pattern($1, smsd_var_lib_t)
files_search_spool($1)
admin_pattern($1, smsd_spool_t)
files_search_pids($1)
admin_pattern($1, smsd_var_run_t)
logging_search_logs($1)
admin_pattern($1, smsd_log_t)
')