policy_module(sysstat, 1.8.0)

########################################
#
# Declarations
#

type sysstat_t;
type sysstat_exec_t;
init_system_domain(sysstat_t, sysstat_exec_t)

type sysstat_initrc_exec_t;
init_script_file(sysstat_initrc_exec_t)

type sysstat_log_t;
logging_log_file(sysstat_log_t)

########################################
#
# Local policy
#

allow sysstat_t self:capability { dac_read_search  sys_admin sys_resource sys_tty_config };
allow sysstat_t self:fifo_file rw_fifo_file_perms;

manage_dirs_pattern(sysstat_t,sysstat_log_t,sysstat_log_t)
manage_files_pattern(sysstat_t, sysstat_log_t, sysstat_log_t)
manage_lnk_files_pattern(sysstat_t,sysstat_log_t,sysstat_log_t)
logging_log_filetrans(sysstat_t, sysstat_log_t, { file dir })

can_exec(sysstat_t, sysstat_exec_t)

kernel_read_system_state(sysstat_t)
kernel_read_network_state(sysstat_t)
kernel_read_kernel_sysctls(sysstat_t)
kernel_read_fs_sysctls(sysstat_t)
kernel_read_rpc_sysctls(sysstat_t)

corecmd_exec_shell(sysstat_t)
corecmd_exec_bin(sysstat_t)

dev_read_sysfs(sysstat_t)
dev_read_urand(sysstat_t)

files_search_var(sysstat_t)
files_read_etc_runtime_files(sysstat_t)
files_search_all_mountpoints(sysstat_t)

fs_getattr_all_fs(sysstat_t)
fs_list_inotifyfs(sysstat_t)

storage_getattr_fixed_disk_dev(sysstat_t)

term_use_console(sysstat_t)
term_use_all_inherited_terms(sysstat_t)

auth_use_nsswitch(sysstat_t)

init_use_fds(sysstat_t)

locallogin_use_fds(sysstat_t)

logging_send_syslog_msg(sysstat_t)

userdom_dontaudit_list_user_home_dirs(sysstat_t)

optional_policy(`
	cron_system_entry(sysstat_t, sysstat_exec_t)
')

