Chris PeBenito 1a411e9
policy_module(rgmanager, 1.2.0)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# Declarations
1ec3d1a
#
1ec3d1a
1ec3d1a
## <desc>
Chris PeBenito 9401ae1
## 

Chris PeBenito 9401ae1
## Allow rgmanager domain to connect to the network using TCP.
Chris PeBenito 9401ae1
## 

1ec3d1a
## </desc>
1ec3d1a
gen_tunable(rgmanager_can_network_connect, false)
1ec3d1a
1ec3d1a
type rgmanager_t;
1ec3d1a
type rgmanager_exec_t;
1ec3d1a
init_daemon_domain(rgmanager_t, rgmanager_exec_t)
1ec3d1a
1ec3d1a
type rgmanager_initrc_exec_t;
1ec3d1a
init_script_file(rgmanager_initrc_exec_t)
1ec3d1a
1ec3d1a
type rgmanager_tmp_t;
1ec3d1a
files_tmp_file(rgmanager_tmp_t)
1ec3d1a
1ec3d1a
type rgmanager_tmpfs_t;
1ec3d1a
files_tmpfs_file(rgmanager_tmpfs_t)
1ec3d1a
8652f9a
type rgmanager_var_lib_t;
2d85450
files_type(rgmanager_var_lib_t)
8652f9a
1ec3d1a
type rgmanager_var_log_t;
1ec3d1a
logging_log_file(rgmanager_var_log_t)
1ec3d1a
1ec3d1a
type rgmanager_var_run_t;
1ec3d1a
files_pid_file(rgmanager_var_run_t)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# rgmanager local policy
1ec3d1a
#
1ec3d1a
1ec3d1a
allow rgmanager_t self:capability { dac_override net_raw sys_resource sys_admin sys_nice ipc_lock };
1ec3d1a
allow rgmanager_t self:process { setsched signal };
1ec3d1a
1ec3d1a
allow rgmanager_t self:fifo_file rw_fifo_file_perms;
1ec3d1a
allow rgmanager_t self:unix_stream_socket { create_stream_socket_perms };
1ec3d1a
allow rgmanager_t self:unix_dgram_socket create_socket_perms;
1ec3d1a
allow rgmanager_t self:tcp_socket create_stream_socket_perms;
1ec3d1a
1ec3d1a
manage_dirs_pattern(rgmanager_t, rgmanager_tmp_t, rgmanager_tmp_t)
1ec3d1a
manage_files_pattern(rgmanager_t, rgmanager_tmp_t, rgmanager_tmp_t)
1ec3d1a
files_tmp_filetrans(rgmanager_t, rgmanager_tmp_t, { file dir })
1ec3d1a
1ec3d1a
manage_dirs_pattern(rgmanager_t, rgmanager_tmpfs_t, rgmanager_tmpfs_t)
1ec3d1a
manage_files_pattern(rgmanager_t, rgmanager_tmpfs_t, rgmanager_tmpfs_t)
1ec3d1a
fs_tmpfs_filetrans(rgmanager_t, rgmanager_tmpfs_t, { dir file })
1ec3d1a
8652f9a
# var/lib files
8652f9a
# # needed by hearbeat
8652f9a
can_exec(rgmanager_t, rgmanager_var_lib_t)
8652f9a
manage_files_pattern(rgmanager_t, rgmanager_var_lib_t,rgmanager_var_lib_t)
8652f9a
manage_dirs_pattern(rgmanager_t, rgmanager_var_lib_t,rgmanager_var_lib_t)
8652f9a
manage_sock_files_pattern(rgmanager_t, rgmanager_var_lib_t,rgmanager_var_lib_t)
8652f9a
manage_fifo_files_pattern(rgmanager_t, rgmanager_var_lib_t,rgmanager_var_lib_t)
8652f9a
files_var_lib_filetrans(rgmanager_t,rgmanager_var_lib_t, { file dir fifo_file sock_file })
8652f9a
8652f9a
1ec3d1a
manage_files_pattern(rgmanager_t, rgmanager_var_log_t, rgmanager_var_log_t)
1ec3d1a
logging_log_filetrans(rgmanager_t, rgmanager_var_log_t, { file })
1ec3d1a
1ec3d1a
manage_dirs_pattern(rgmanager_t, rgmanager_var_run_t, rgmanager_var_run_t)
1ec3d1a
manage_files_pattern(rgmanager_t, rgmanager_var_run_t, rgmanager_var_run_t)
1ec3d1a
manage_sock_files_pattern(rgmanager_t, rgmanager_var_run_t, rgmanager_var_run_t)
1ec3d1a
files_pid_filetrans(rgmanager_t, rgmanager_var_run_t, { file sock_file dir })
1ec3d1a
1ec3d1a
kernel_kill(rgmanager_t)
1ec3d1a
kernel_read_kernel_sysctls(rgmanager_t)
1ec3d1a
kernel_read_rpc_sysctls(rgmanager_t)
1ec3d1a
kernel_read_system_state(rgmanager_t)
1ec3d1a
kernel_rw_rpc_sysctls(rgmanager_t)
1ec3d1a
kernel_search_debugfs(rgmanager_t)
1ec3d1a
kernel_search_network_state(rgmanager_t)
1ec3d1a
1ec3d1a
corecmd_exec_bin(rgmanager_t)
1ec3d1a
corecmd_exec_shell(rgmanager_t)
1ec3d1a
1ec3d1a
# need to write to /dev/misc/dlm-control
1ec3d1a
dev_rw_dlm_control(rgmanager_t)
1ec3d1a
dev_setattr_dlm_control(rgmanager_t)
1ec3d1a
dev_search_sysfs(rgmanager_t)
1ec3d1a
1ec3d1a
domain_read_all_domains_state(rgmanager_t)
1ec3d1a
domain_getattr_all_domains(rgmanager_t)
1ec3d1a
1ec3d1a
files_create_var_run_dirs(rgmanager_t)
1ec3d1a
files_getattr_all_symlinks(rgmanager_t)
1ec3d1a
files_list_all(rgmanager_t)
1ec3d1a
files_manage_mnt_dirs(rgmanager_t)
1ec3d1a
files_manage_mnt_files(rgmanager_t)
1ec3d1a
files_manage_mnt_symlinks(rgmanager_t)
1ec3d1a
files_manage_isid_type_files(rgmanager_t)
1ec3d1a
files_manage_isid_type_dirs(rgmanager_t)
1ec3d1a
1ec3d1a
fs_getattr_xattr_fs(rgmanager_t)
1ec3d1a
fs_getattr_all_fs(rgmanager_t)
1ec3d1a
1ec3d1a
storage_raw_read_fixed_disk(rgmanager_t)
1ec3d1a
storage_getattr_fixed_disk_dev(rgmanager_t)
1ec3d1a
1ec3d1a
term_getattr_pty_fs(rgmanager_t)
1ec3d1a
1ec3d1a
# needed by resources scripts
1ec3d1a
files_read_non_security_files(rgmanager_t)
1ec3d1a
auth_dontaudit_getattr_shadow(rgmanager_t)
1ec3d1a
auth_use_nsswitch(rgmanager_t)
1ec3d1a
1ec3d1a
init_domtrans_script(rgmanager_t)
fad5e9c
init_initrc_domain(rgmanager_t)
1ec3d1a
1ec3d1a
logging_send_syslog_msg(rgmanager_t)
1ec3d1a
1ec3d1a
userdom_kill_all_users(rgmanager_t)
1ec3d1a
1ec3d1a
tunable_policy(`rgmanager_can_network_connect',`
1ec3d1a
	corenet_tcp_connect_all_ports(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
# rgmanager can run resource scripts
1ec3d1a
optional_policy(`
1ec3d1a
	aisexec_stream_connect(rgmanager_t)
1ec3d1a
	corosync_stream_connect(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	apache_domtrans(rgmanager_t)
1ec3d1a
	apache_signal(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	consoletype_exec(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
    dbus_system_bus_client(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	fstools_domtrans(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	rhcs_stream_connect_groupd(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	hostname_exec(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	ccs_manage_config(rgmanager_t)
1ec3d1a
	ccs_stream_connect(rgmanager_t)
1ec3d1a
	rhcs_stream_connect_gfs_controld(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	lvm_domtrans(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	ldap_initrc_domtrans(rgmanager_t)
1ec3d1a
	ldap_systemctl(rgmanager_t)
1ec3d1a
	ldap_domtrans(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	mount_domtrans(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	mysql_domtrans_mysql_safe(rgmanager_t)
1ec3d1a
	mysql_stream_connect(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	netutils_domtrans(rgmanager_t)
1ec3d1a
	netutils_domtrans_ping(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	postgresql_domtrans(rgmanager_t)
1ec3d1a
	postgresql_signal(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	rdisc_exec(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	ricci_dontaudit_rw_modcluster_pipes(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	rpc_initrc_domtrans_nfsd(rgmanager_t)
1ec3d1a
	rpc_initrc_domtrans_rpcd(rgmanager_t)
1ec3d1a
	rpc_systemctl_nfsd(rgmanager_t)
1ec3d1a
	rpc_systemctl_rpcd(rgmanager_t)
1ec3d1a
1ec3d1a
	rpc_domtrans_nfsd(rgmanager_t)
1ec3d1a
	rpc_domtrans_rpcd(rgmanager_t)
1ec3d1a
	rpc_manage_nfs_state_data(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	samba_initrc_domtrans(rgmanager_t)
1ec3d1a
	samba_domtrans_smbd(rgmanager_t)
1ec3d1a
	samba_domtrans_nmbd(rgmanager_t)
1ec3d1a
	samba_manage_var_files(rgmanager_t)
1ec3d1a
	samba_rw_config(rgmanager_t)
1ec3d1a
	samba_signal_smbd(rgmanager_t)
1ec3d1a
	samba_signal_nmbd(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	sysnet_domtrans_ifconfig(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	udev_read_db(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	virt_stream_connect(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	unconfined_domain(rgmanager_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	xen_domtrans_xm(rgmanager_t)
1ec3d1a
')