## ## Policy for reading and setting the hardware clock. ######################################## ## ## ## Execute hwclock in the clock domain. ## ## ## The type of the process performing this action. ## ## ## # define(`clock_transition',` requires_block_template(`$0'_depend) allow $1 hwclock_exec_t:file { getattr read execute }; allow $1 hwclock_t:process transition; type_transition $1 hwclock_exec_t:process hwclock_t; dontaudit $1 hwclock_t:process { noatsecure siginh rlimitinh }; allow $1 hwclock_t:fd use; allow hwclock_t $1:fd use; allow hwclock_t $1:fifo_file rw_file_perms; allow hwclock_t $1:process sigchld; ') define(`clock_transition_depend',` type hwclock_t, hwclock_exec_t; class file { getattr read execute }; class process { transition noatsecure siginh rlimitinh sigchld }; class fd use; class fifo_file rw_file_perms; ') ######################################## ## ## ## Execute hwclock in the clock domain, and ## allow the specified role the hwclock domain. ## ## ## The type of the process performing this action. ## ## ## The role to be allowed the clock domain. ## ## ## The type of the terminal allow the clock domain to use. ## ## ## # define(`clock_transition_add_role_use_terminal',` requires_block_template(`$0'_depend) clock_transition($1) role $2 types hwclock_t; allow hwclock_t $3:chr_file { getattr read write ioctl }; ') define(`clock_transition_add_role_use_terminal_depend',` type hwclock_t; class chr_file { getattr read write ioctl }; ') ######################################## ## ## ## Execute hwclock ## ## ## The type of the process performing this action. ## ## ## # define(`clock_execute',` requires_block_template(`$0'_depend) allow $1 hwclock_exec_t:file { getattr read execute execute_no_trans }; ') define(`clock_execute_depend',` type hwclock_exec_t; class file { getattr read execute execute_no_trans }; ') ######################################## ## ## ## Allow executing domain to modify clock drift ## ## ## The type of the process performing this action. ## ## ## # define(`clock_modify_drift_records',` requires_block_template(`$0'_depend) allow $1 adjtime_t:file { getattr read write ioctl lock append }; files_read_general_system_config_directory($1) ') define(`clock_modify_drift_records_depend',` type adjtime_t; class file { getattr read write ioctl lock append }; ') ##