1ec3d1a
policy_module(sectoolm, 1.0.0)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# Declarations
1ec3d1a
#
1ec3d1a
1ec3d1a
type sectoolm_t;
1ec3d1a
type sectoolm_exec_t;
1ec3d1a
init_daemon_domain(sectoolm_t, sectoolm_exec_t)
1ec3d1a
1ec3d1a
type sectool_var_lib_t;
1ec3d1a
files_type(sectool_var_lib_t)
1ec3d1a
1ec3d1a
type sectool_var_log_t;
1ec3d1a
logging_log_file(sectool_var_log_t)
1ec3d1a
1ec3d1a
type sectool_tmp_t;
1ec3d1a
files_tmp_file(sectool_tmp_t)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# sectool local policy
1ec3d1a
#
1ec3d1a
1ec3d1a
allow sectoolm_t self:capability { dac_override net_admin sys_nice };
1ec3d1a
allow sectoolm_t self:process { getcap getsched	signull setsched };
1ec3d1a
dontaudit sectoolm_t self:process { execstack execmem };
1ec3d1a
allow sectoolm_t self:fifo_file rw_fifo_file_perms;
1ec3d1a
allow sectoolm_t self:unix_dgram_socket { create_socket_perms sendto };
1ec3d1a
1ec3d1a
manage_dirs_pattern(sectoolm_t, sectool_tmp_t, sectool_tmp_t)
1ec3d1a
manage_files_pattern(sectoolm_t, sectool_tmp_t, sectool_tmp_t)
1ec3d1a
files_tmp_filetrans(sectoolm_t, sectool_tmp_t, { file dir })
1ec3d1a
1ec3d1a
manage_files_pattern(sectoolm_t, sectool_var_lib_t, sectool_var_lib_t)
1ec3d1a
manage_dirs_pattern(sectoolm_t, sectool_var_lib_t, sectool_var_lib_t)
1ec3d1a
files_var_lib_filetrans(sectoolm_t, sectool_var_lib_t, { file dir })
1ec3d1a
1ec3d1a
manage_files_pattern(sectoolm_t, sectool_var_log_t, sectool_var_log_t)
1ec3d1a
logging_log_filetrans(sectoolm_t, sectool_var_log_t, file)
1ec3d1a
1ec3d1a
kernel_read_net_sysctls(sectoolm_t)
1ec3d1a
kernel_read_network_state(sectoolm_t)
1ec3d1a
kernel_read_kernel_sysctls(sectoolm_t)
1ec3d1a
1ec3d1a
corecmd_exec_bin(sectoolm_t)
1ec3d1a
corecmd_exec_shell(sectoolm_t)
1ec3d1a
1ec3d1a
dev_read_sysfs(sectoolm_t)
1ec3d1a
dev_read_urand(sectoolm_t)
1ec3d1a
dev_getattr_all_blk_files(sectoolm_t)
1ec3d1a
dev_getattr_all_chr_files(sectoolm_t)
1ec3d1a
1ec3d1a
domain_getattr_all_domains(sectoolm_t)
1ec3d1a
domain_read_all_domains_state(sectoolm_t)
1ec3d1a
1ec3d1a
files_getattr_all_pipes(sectoolm_t)
1ec3d1a
files_getattr_all_sockets(sectoolm_t)
1ec3d1a
files_read_all_files(sectoolm_t)
1ec3d1a
files_read_all_symlinks(sectoolm_t)
1ec3d1a
1ec3d1a
fs_getattr_all_fs(sectoolm_t)
1ec3d1a
fs_list_noxattr_fs(sectoolm_t)
1ec3d1a
1ec3d1a
selinux_validate_context(sectoolm_t)
1ec3d1a
1ec3d1a
# tcp_wrappers test
1ec3d1a
application_exec_all(sectoolm_t)
1ec3d1a
1ec3d1a
auth_use_nsswitch(sectoolm_t)
1ec3d1a
1ec3d1a
libs_exec_ld_so(sectoolm_t)
1ec3d1a
1ec3d1a
logging_send_syslog_msg(sectoolm_t)
1ec3d1a
1ec3d1a
# tests related to network
1ec3d1a
sysnet_domtrans_ifconfig(sectoolm_t)
1ec3d1a
1ec3d1a
userdom_manage_user_tmp_sockets(sectoolm_t)
1ec3d1a
userdom_dgram_send(sectoolm_t)
1ec3d1a
1ec3d1a
optional_policy(`
07b7aba
	dbus_system_domain(sectoolm_t, sectoolm_exec_t)
07b7aba
')
07b7aba
07b7aba
optional_policy(`
1ec3d1a
	# tests related to network
1ec3d1a
	hostname_exec(sectoolm_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	# tests related to network
1ec3d1a
	iptables_domtrans(sectoolm_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	mount_exec(sectoolm_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	policykit_dbus_chat(sectoolm_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
# suid test using
1ec3d1a
# rpm -Vf option
1ec3d1a
optional_policy(`
1ec3d1a
	prelink_domtrans(sectoolm_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	rpm_exec(sectoolm_t)
1ec3d1a
	rpm_dontaudit_manage_db(sectoolm_t)
1ec3d1a
')
1ec3d1a