diff options
Diffstat (limited to 'policy/modules/contrib/memcached.if')
-rw-r--r-- | policy/modules/contrib/memcached.if | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/policy/modules/contrib/memcached.if b/policy/modules/contrib/memcached.if new file mode 100644 index 000000000..db4fd6fbc --- /dev/null +++ b/policy/modules/contrib/memcached.if @@ -0,0 +1,73 @@ +## <summary>high-performance memory object caching system</summary> + +######################################## +## <summary> +## Execute a domain transition to run memcached. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed to transition. +## </summary> +## </param> +# +interface(`memcached_domtrans',` + gen_require(` + type memcached_t; + type memcached_exec_t; + ') + + domtrans_pattern($1, memcached_exec_t, memcached_t) +') + +######################################## +## <summary> +## Read memcached PID files. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`memcached_read_pid_files',` + gen_require(` + type memcached_var_run_t; + ') + + files_search_pids($1) + allow $1 memcached_var_run_t:file read_file_perms; +') + +######################################## +## <summary> +## All of the rules required to administrate +## an memcached environment +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +## <param name="role"> +## <summary> +## The role to be allowed to manage the memcached domain. +## </summary> +## </param> +## <rolecap/> +# +interface(`memcached_admin',` + gen_require(` + type memcached_t; + type memcached_initrc_exec_t; + ') + + allow $1 memcached_t:process { ptrace signal_perms }; + ps_process_pattern($1, memcached_t) + + init_labeled_script_domtrans($1, memcached_initrc_exec_t) + domain_system_change_exemption($1) + role_transition $2 memcached_initrc_exec_t system_r; + allow $2 system_r; + + admin_pattern($1, memcached_var_run_t) +') |