commit:     9ce367ee6624a28ea34fc54f71f5490aef71dccf
Author:     Grant Ridder <shortdudey123 <AT> gmail <DOT> com>
AuthorDate: Mon Feb  1 18:42:36 2016 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Fri Feb 12 02:54:52 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=9ce367ee

Add read/write perms for redis-sentinel

Fixes
```
type=AVC msg=audit(1454110519.451:77): avc:  denied  { read } for  pid=2863 
comm="redis-sentinel" name="redis-sentinel.conf" dev="dm-0" ino=69275142 
scontext=system_u:system_r:redis_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 
tclass=file
type=AVC msg=audit(1454110519.451:77): avc:  denied  { open } for  pid=2863 
comm="redis-sentinel" path="/etc/redis-sentinel.conf" dev="dm-0" ino=69275142 
scontext=system_u:system_r:redis_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 
tclass=file
type=AVC msg=audit(1454110519.451:78): avc:  denied  { getattr } for  pid=2863 
comm="redis-sentinel" path="/etc/redis-sentinel.conf" dev="dm-0" ino=69275142 
scontext=system_u:system_r:redis_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 
tclass=file
type=AVC msg=audit(1454110519.457:80): avc:  denied  { write } for  pid=2863 
comm="redis-sentinel" name="redis-sentinel.conf" dev="dm-0" ino=69275142 
scontext=system_u:system_r:redis_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 
tclass=file
```

 policy/modules/contrib/redis.fc | 2 ++
 policy/modules/contrib/redis.if | 5 ++++-
 policy/modules/contrib/redis.te | 5 +++++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/policy/modules/contrib/redis.fc b/policy/modules/contrib/redis.fc
index e240ac9..9f9c0c4 100644
--- a/policy/modules/contrib/redis.fc
+++ b/policy/modules/contrib/redis.fc
@@ -1,5 +1,7 @@
 /etc/rc\.d/init\.d/redis       --      
gen_context(system_u:object_r:redis_initrc_exec_t,s0)
 
+/etc/redis.*\.conf     --      gen_context(system_u:object_r:redis_conf_t,s0)
+
 /usr/sbin/redis-server --      gen_context(system_u:object_r:redis_exec_t,s0)
 
 /var/lib/redis(/.*)?   gen_context(system_u:object_r:redis_var_lib_t,s0)

diff --git a/policy/modules/contrib/redis.if b/policy/modules/contrib/redis.if
index 6d86dbf..276309a 100644
--- a/policy/modules/contrib/redis.if
+++ b/policy/modules/contrib/redis.if
@@ -20,7 +20,7 @@
 interface(`redis_admin',`
        gen_require(`
                type redis_t, redis_initrc_exec_t, redis_var_lib_t;
-               type redis_log_t, redis_var_run_t;
+               type redis_log_t, redis_var_run_t, redis_conf_t;
        ')
 
        allow $1 redis_t:process { ptrace signal_perms };
@@ -28,6 +28,9 @@ interface(`redis_admin',`
 
        init_startstop_service($1, $2, redis_t, redis_initrc_exec_t)
 
+       files_search_etc($1)
+       admin_pattern($1, redis_conf_t)
+
        logging_search_logs($1)
        admin_pattern($1, redis_log_t)
 

diff --git a/policy/modules/contrib/redis.te b/policy/modules/contrib/redis.te
index c116691..83a78ce 100644
--- a/policy/modules/contrib/redis.te
+++ b/policy/modules/contrib/redis.te
@@ -21,6 +21,9 @@ files_type(redis_var_lib_t)
 type redis_var_run_t;
 files_pid_file(redis_var_run_t)
 
+type redis_conf_t;
+files_config_file(redis_conf_t)
+
 ########################################
 #
 # Local policy
@@ -31,6 +34,8 @@ allow redis_t self:fifo_file rw_fifo_file_perms;
 allow redis_t self:unix_stream_socket create_stream_socket_perms;
 allow redis_t self:tcp_socket create_stream_socket_perms;
 
+allow redis_t redis_conf_t:file rw_file_perms;
+
 manage_dirs_pattern(redis_t, redis_log_t, redis_log_t)
 manage_files_pattern(redis_t, redis_log_t, redis_log_t)
 manage_lnk_files_pattern(redis_t, redis_log_t, redis_log_t)

Reply via email to