fix kernel_relabel_unlabeled()
This commit is contained in:
		
							parent
							
								
									cd07eaecf0
								
							
						
					
					
						commit
						c66a3aaf98
					
				| @ -1606,19 +1606,86 @@ interface(`kernel_dontaudit_getattr_unlabeled_chr_files',` | |||||||
| 
 | 
 | ||||||
| ######################################## | ######################################## | ||||||
| ## <summary> | ## <summary> | ||||||
| ##	Allow caller to relabel unlabeled objects. | ##	Allow caller to relabel unlabeled directories. | ||||||
| ## </summary> | ## </summary> | ||||||
| ## <param name="domain"> | ## <param name="domain"> | ||||||
| ##	The process type relabeling the objects. | ##	The process type relabeling the objects. | ||||||
| ## </param> | ## </param> | ||||||
| # | # | ||||||
| interface(`kernel_relabel_unlabeled',` | interface(`kernel_relabelfrom_unlabeled_dirs',` | ||||||
|  | 	gen_require(` | ||||||
|  | 		type unlabeled_t; | ||||||
|  | 	') | ||||||
|  | 
 | ||||||
|  | 	allow $1 unlabeled_t:dir { getattr search read relabelfrom }; | ||||||
|  | ') | ||||||
|  | 
 | ||||||
|  | ######################################## | ||||||
|  | ## <summary> | ||||||
|  | ##	Allow caller to relabel unlabeled files. | ||||||
|  | ## </summary> | ||||||
|  | ## <param name="domain"> | ||||||
|  | ##	The process type relabeling the objects. | ||||||
|  | ## </param> | ||||||
|  | # | ||||||
|  | interface(`kernel_relabelfrom_unlabeled_files',` | ||||||
| 	gen_require(` | 	gen_require(` | ||||||
| 		type unlabeled_t; | 		type unlabeled_t; | ||||||
| 	') | 	') | ||||||
| 
 | 
 | ||||||
| 	kernel_list_unlabeled($1) | 	kernel_list_unlabeled($1) | ||||||
| 	allow $1 unlabeled_t:dir_file_class_set { getattr relabelfrom }; | 	allow $1 unlabeled_t:file { getattr relabelfrom }; | ||||||
|  | ') | ||||||
|  | 
 | ||||||
|  | ######################################## | ||||||
|  | ## <summary> | ||||||
|  | ##	Allow caller to relabel unlabeled symbolic links. | ||||||
|  | ## </summary> | ||||||
|  | ## <param name="domain"> | ||||||
|  | ##	The process type relabeling the objects. | ||||||
|  | ## </param> | ||||||
|  | # | ||||||
|  | interface(`kernel_relabelfrom_unlabeled_symlinks',` | ||||||
|  | 	gen_require(` | ||||||
|  | 		type unlabeled_t; | ||||||
|  | 	') | ||||||
|  | 
 | ||||||
|  | 	kernel_list_unlabeled($1) | ||||||
|  | 	allow $1 unlabeled_t:lnk_file { getattr relabelfrom }; | ||||||
|  | ') | ||||||
|  | 
 | ||||||
|  | ######################################## | ||||||
|  | ## <summary> | ||||||
|  | ##	Allow caller to relabel unlabeled named pipes. | ||||||
|  | ## </summary> | ||||||
|  | ## <param name="domain"> | ||||||
|  | ##	The process type relabeling the objects. | ||||||
|  | ## </param> | ||||||
|  | # | ||||||
|  | interface(`kernel_relabelfrom_unlabeled_pipes',` | ||||||
|  | 	gen_require(` | ||||||
|  | 		type unlabeled_t; | ||||||
|  | 	') | ||||||
|  | 
 | ||||||
|  | 	kernel_list_unlabeled($1) | ||||||
|  | 	allow $1 unlabeled_t:fifo_file { getattr relabelfrom }; | ||||||
|  | ') | ||||||
|  | 
 | ||||||
|  | ######################################## | ||||||
|  | ## <summary> | ||||||
|  | ##	Allow caller to relabel unlabeled named sockets. | ||||||
|  | ## </summary> | ||||||
|  | ## <param name="domain"> | ||||||
|  | ##	The process type relabeling the objects. | ||||||
|  | ## </param> | ||||||
|  | # | ||||||
|  | interface(`kernel_relabelfrom_unlabeled_sockets',` | ||||||
|  | 	gen_require(` | ||||||
|  | 		type unlabeled_t; | ||||||
|  | 	') | ||||||
|  | 
 | ||||||
|  | 	kernel_list_unlabeled($1) | ||||||
|  | 	allow $1 unlabeled_t:sock_file { getattr relabelfrom }; | ||||||
| ') | ') | ||||||
| 
 | 
 | ||||||
| ######################################## | ######################################## | ||||||
|  | |||||||
| @ -321,7 +321,13 @@ allow restorecon_t { policy_src_t policy_config_t file_context_t selinux_config_ | |||||||
| kernel_use_fd(restorecon_t) | kernel_use_fd(restorecon_t) | ||||||
| kernel_rw_pipes(restorecon_t) | kernel_rw_pipes(restorecon_t) | ||||||
| kernel_read_system_state(restorecon_t) | kernel_read_system_state(restorecon_t) | ||||||
|  | kernel_relabelfrom_unlabeled_dirs(restorecon_t) | ||||||
|  | kernel_relabelfrom_unlabeled_files(restorecon_t) | ||||||
|  | kernel_relabelfrom_unlabeled_symlinks(restorecon_t) | ||||||
|  | kernel_relabelfrom_unlabeled_pipes(restorecon_t) | ||||||
|  | kernel_relabelfrom_unlabeled_sockets(restorecon_t) | ||||||
| 
 | 
 | ||||||
|  | dev_relabel_all_dev_nodes(restorecon_t) | ||||||
| # cjp: why is this needed? | # cjp: why is this needed? | ||||||
| dev_rw_generic_files(restorecon_t) | dev_rw_generic_files(restorecon_t) | ||||||
| 
 | 
 | ||||||
| @ -359,10 +365,6 @@ logging_send_syslog_msg(restorecon_t) | |||||||
| 
 | 
 | ||||||
| userdom_use_all_users_fd(restorecon_t) | userdom_use_all_users_fd(restorecon_t) | ||||||
| 
 | 
 | ||||||
| # relabeling rules |  | ||||||
| kernel_relabel_unlabeled(restorecon_t) |  | ||||||
| dev_relabel_all_dev_nodes(restorecon_t) |  | ||||||
| 
 |  | ||||||
| files_relabel_all_files(restorecon_t) | files_relabel_all_files(restorecon_t) | ||||||
| files_list_all(restorecon_t) | files_list_all(restorecon_t) | ||||||
| # this is to satisfy the assertion: | # this is to satisfy the assertion: | ||||||
| @ -474,7 +476,13 @@ allow setfiles_t { policy_src_t policy_config_t file_context_t selinux_config_t | |||||||
| allow setfiles_t { policy_src_t policy_config_t file_context_t selinux_config_t default_context_t }:lnk_file r_file_perms; | allow setfiles_t { policy_src_t policy_config_t file_context_t selinux_config_t default_context_t }:lnk_file r_file_perms; | ||||||
| 
 | 
 | ||||||
| kernel_read_system_state(setfiles_t) | kernel_read_system_state(setfiles_t) | ||||||
| kernel_list_unlabeled(setfiles_t) | kernel_relabelfrom_unlabeled_dirs(setfiles_t) | ||||||
|  | kernel_relabelfrom_unlabeled_files(setfiles_t) | ||||||
|  | kernel_relabelfrom_unlabeled_symlinks(setfiles_t) | ||||||
|  | kernel_relabelfrom_unlabeled_pipes(setfiles_t) | ||||||
|  | kernel_relabelfrom_unlabeled_sockets(setfiles_t) | ||||||
|  | 
 | ||||||
|  | dev_relabel_all_dev_nodes(setfiles_t) | ||||||
| 
 | 
 | ||||||
| fs_getattr_xattr_fs(setfiles_t) | fs_getattr_xattr_fs(setfiles_t) | ||||||
| fs_list_all(setfiles_t) | fs_list_all(setfiles_t) | ||||||
| @ -495,6 +503,9 @@ term_use_all_user_ttys(setfiles_t) | |||||||
| term_use_all_user_ptys(setfiles_t) | term_use_all_user_ptys(setfiles_t) | ||||||
| term_use_unallocated_ttys(setfiles_t) | term_use_unallocated_ttys(setfiles_t) | ||||||
| 
 | 
 | ||||||
|  | # this is to satisfy the assertion: | ||||||
|  | auth_relabelto_shadow(setfiles_t) | ||||||
|  | 
 | ||||||
| init_use_fd(setfiles_t) | init_use_fd(setfiles_t) | ||||||
| init_use_script_fd(setfiles_t) | init_use_script_fd(setfiles_t) | ||||||
| init_use_script_ptys(setfiles_t) | init_use_script_ptys(setfiles_t) | ||||||
| @ -506,6 +517,8 @@ libs_use_shared_libs(setfiles_t) | |||||||
| 
 | 
 | ||||||
| files_read_etc_runtime_files(setfiles_t) | files_read_etc_runtime_files(setfiles_t) | ||||||
| files_read_etc_files(setfiles_t) | files_read_etc_files(setfiles_t) | ||||||
|  | files_list_all(setfiles_t) | ||||||
|  | files_relabel_all_files(setfiles_t) | ||||||
| 
 | 
 | ||||||
| logging_send_syslog_msg(setfiles_t) | logging_send_syslog_msg(setfiles_t) | ||||||
| 
 | 
 | ||||||
| @ -515,14 +528,6 @@ userdom_use_all_users_fd(setfiles_t) | |||||||
| # for config files in a home directory | # for config files in a home directory | ||||||
| userdom_read_all_user_files(setfiles_t) | userdom_read_all_user_files(setfiles_t) | ||||||
| 
 | 
 | ||||||
| # relabeling rules |  | ||||||
| kernel_relabel_unlabeled(setfiles_t) |  | ||||||
| dev_relabel_all_dev_nodes(setfiles_t) |  | ||||||
| files_list_all(setfiles_t) |  | ||||||
| files_relabel_all_files(setfiles_t) |  | ||||||
| # this is to satisfy the assertion: |  | ||||||
| auth_relabelto_shadow(setfiles_t) |  | ||||||
| 
 |  | ||||||
| ifdef(`TODO',` | ifdef(`TODO',` | ||||||
| # for upgrading glibc and other shared objects - without this the upgrade | # for upgrading glibc and other shared objects - without this the upgrade | ||||||
| # scripts will put things in a state such that setfiles can not be run! | # scripts will put things in a state such that setfiles can not be run! | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user