commit:     3aa651f4510a18755348107c754f635db5a4b758
Author:     Jason Zaman <jason <AT> perfinion <DOT> com>
AuthorDate: Wed Jun  1 16:08:55 2016 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Wed Jun  1 18:20:07 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=3aa651f4

userdomain: user_tmp requires searching /run/user

 policy/modules/system/userdomain.if | 51 +++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/policy/modules/system/userdomain.if 
b/policy/modules/system/userdomain.if
index 9284808..14dae15 100644
--- a/policy/modules/system/userdomain.if
+++ b/policy/modules/system/userdomain.if
@@ -344,6 +344,7 @@ interface(`userdom_exec_user_tmp_files',`
 
        exec_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 #######################################
@@ -2373,6 +2374,7 @@ interface(`userdom_write_user_tmp_sockets',`
 
        allow $1 user_tmp_t:sock_file write_sock_file_perms;
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2391,7 +2393,9 @@ interface(`userdom_list_user_tmp',`
        ')
 
        allow $1 user_tmp_t:dir list_dir_perms;
+       allow $1 user_runtime_t:dir list_dir_perms;
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2450,6 +2454,7 @@ interface(`userdom_read_user_tmp_files',`
        read_files_pattern($1, user_tmp_t, user_tmp_t)
        allow $1 user_tmp_t:dir list_dir_perms;
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2508,6 +2513,7 @@ interface(`userdom_rw_user_tmp_files',`
        allow $1 user_tmp_t:dir list_dir_perms;
        rw_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2547,6 +2553,7 @@ interface(`userdom_read_user_tmp_symlinks',`
        read_lnk_files_pattern($1, user_tmp_t, user_tmp_t)
        allow $1 user_tmp_t:dir list_dir_perms;
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2567,6 +2574,7 @@ interface(`userdom_manage_user_tmp_dirs',`
 
        manage_dirs_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2587,6 +2595,7 @@ interface(`userdom_manage_user_tmp_files',`
 
        manage_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2607,6 +2616,7 @@ interface(`userdom_manage_user_tmp_symlinks',`
 
        manage_lnk_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2627,6 +2637,7 @@ interface(`userdom_manage_user_tmp_pipes',`
 
        manage_fifo_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2647,6 +2658,7 @@ interface(`userdom_manage_user_tmp_sockets',`
 
        manage_sock_files_pattern($1, user_tmp_t, user_tmp_t)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2683,6 +2695,7 @@ interface(`userdom_user_tmp_filetrans',`
 
        filetrans_pattern($1, user_tmp_t, $2, $3, $4)
        files_search_tmp($1)
+       userdom_search_user_runtime($1)
 ')
 
 ########################################
@@ -2717,6 +2730,44 @@ interface(`userdom_tmp_filetrans_user_tmp',`
 
 ########################################
 ## <summary>
+##     Search users runtime directories.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`userdom_search_user_runtime',`
+       gen_require(`
+               type user_runtime_t;
+       ')
+
+       allow $1 user_runtime_t:dir search_dir_perms;
+       userdom_search_user_runtime_root($1)
+')
+
+########################################
+## <summary>
+##     Search user runtime root directories.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`userdom_search_user_runtime_root',`
+       gen_require(`
+               type user_runtime_root_t;
+       ')
+
+       allow $1 user_runtime_root_t:dir search_dir_perms;
+       files_search_pids($1)
+')
+
+########################################
+## <summary>
 ##     Read and write user tmpfs files.
 ## </summary>
 ## <param name="domain">

Reply via email to