Label /var/cache/man with a private man cache type for mandb
PATCH v3 1/1 Label /var/cache/man with a private man cache type for mandb
Since /var/cache/man was previously labeled man_t, make sure that the old interfaces with regard to man_t also support man_cache_t
Signed-off-by Dominick Grift <[email protected]>
policy/modules/system/miscfiles.fc +1 -1
@@ -77,7 +77,7 @@ /var/cache/fontconfig(/.*)? gen_context(system_u:object_r:fonts_cache_t,s0) /var/cache/fonts(/.*)? gen_context(system_u:object_r:tetex_data_t,s0) -/var/cache/man(/.*)? gen_context(system_u:object_r:man_t,s0) +/var/cache/man(/.*)? gen_context(system_u:object_r:man_cache_t,s0) /var/named/chroot/etc/pki(/.*)? gen_context(system_u:object_r:cert_t,s0)
policy/modules/system/miscfiles.if +60 -20
123 lines not on this page · raw message
policy/modules/system/miscfiles.te +3 -0
@@ -41,6 +41,9 @@ type man_t alias catman_t; files_type(man_t) +type man_cache_t; +files_type(man_cache_t) + # # Types for public content #
PATCH v3 1/1 Label /var/cache/man with a private man cache type for mandb
Quoted 2 lines · Dominick Grift
Since
/var/cache/manwas previously labeledman_t, make sure that the old interfaces with regard toman_talso supportman_cache_t
Merged. Tweaked a couple interface names.
Quoted 160 lines
Signed-off-by Dominick Grift <[email protected]>policy/modules/system/miscfiles.fc +1
-1@@ -77,7 +77,7 @@ /var/cache/fontconfig(/.*)? gen_context(system_u:object_r:fonts_cache_t,s0) /var/cache/fonts(/.*)? gen_context(system_u:object_r:tetex_data_t,s0) -/var/cache/man(/.*)? gen_context(system_u:object_r:man_t,s0) +/var/cache/man(/.*)? gen_context(system_u:object_r:man_cache_t,s0) /var/named/chroot/etc/pki(/.*)? gen_context(system_u:object_r:cert_t,s0)policy/modules/system/miscfiles.if +60
-20@@ -486,10 +486,10 @@ # interface(`miscfiles_search_man_pages',` gen_require(` - type man_t; + type man_t, man_cache_t; ') - allow $1 man_t:dir search_dir_perms; + allow $1 { man_cache_t man_t }:dir search_dir_perms; files_search_usr($1) ')@@ -505,10 +505,10 @@ # interface(`miscfiles_dontaudit_search_man_pages',` gen_require(` - type man_t; + type man_t, man_cache_t; ') - dontaudit $1 man_t:dir search_dir_perms; + dontaudit $1 { man_cache_t man_t }:dir search_dir_perms; ') ########################################@@ -524,13 +524,13 @@ # interface(`miscfiles_read_man_pages',` gen_require(` - type man_t; + type man_t, man_cache_t; ') files_search_usr($1) - allow $1 man_t:dir list_dir_perms; - read_files_pattern($1, man_t, man_t) - read_lnk_files_pattern($1, man_t, man_t) + allow $1 { man_cache_t man_t }:dir list_dir_perms; + read_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) + read_lnk_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) ') ########################################@@ -546,17 +546,14 @@ # interface(`miscfiles_delete_man_pages',` gen_require(` - type man_t; + type man_t, man_cache_t; ') files_search_usr($1) - - allow $1 man_t:dir setattr; - # RH bug #309351 - allow $1 man_t:dir list_dir_perms; - delete_dirs_pattern($1, man_t, man_t) - delete_files_pattern($1, man_t, man_t) - delete_lnk_files_pattern($1, man_t, man_t) + allow $1 { man_cache_t man_t }:dir { setattr_dir_perms list_dir_perms }; + delete_dirs_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) + delete_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) + delete_lnk_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) ') ########################################@@ -571,13 +568,56 @@ # interface(`miscfiles_manage_man_pages',` gen_require(` - type man_t; + type man_t, man_cache_t; ') files_search_usr($1) - manage_dirs_pattern($1, man_t, man_t) - manage_files_pattern($1, man_t, man_t) - read_lnk_files_pattern($1, man_t, man_t) + manage_dirs_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) + manage_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) + read_lnk_files_pattern($1, { man_cache_t man_t }, { man_cache_t man_t }) +') + +######################################## +## <summary> +## Read man cache content. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`miscfiles_read_man_cache_content',` + gen_require(` + type man_cache_t; + ') + + files_search_var($1) + allow $1 man_cache_t:dir list_dir_perms; + allow $1 man_cache_t:file read_file_perms; + allow $1 man_cache_t:lnk_file read_lnk_file_perms; +') + +######################################## +## <summary> +## Create, read, write, and delete +## man cache content. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`miscfiles_manage_man_cache_content',` + gen_require(` + type man_cache_t; + ') + + files_search_var($1) + allow $1 man_cache_t:dir manage_dir_perms; + allow $1 man_cache_t:file manage_file_perms; + allow $1 man_cache_t:lnk_file manage_lnk_file_perms; ') ########################################policy/modules/system/miscfiles.te +3
-0@@ -41,6 +41,9 @@ type man_t alias catman_t; files_type(man_t) +type man_cache_t; +files_type(man_cache_t) + # # Types for public content #
Signature · 3 lines
Chris PeBenito Tresys Technology, LLC www.tresys.com | oss.tresys.com