aboutsummaryrefslogtreecommitdiff
blob: a7c5c2f9eefe82695e76d68a773e793b9a3a9264 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
policy_module(pacemaker, 1.4.0)

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

type pacemaker_t;
type pacemaker_exec_t;
init_daemon_domain(pacemaker_t, pacemaker_exec_t)

type pacemaker_initrc_exec_t;
init_script_file(pacemaker_initrc_exec_t)

type pacemaker_tmp_t;
files_tmp_file(pacemaker_tmp_t)

type pacemaker_tmpfs_t;
files_tmpfs_file(pacemaker_tmpfs_t)

type pacemaker_var_lib_t;
files_type(pacemaker_var_lib_t)

type pacemaker_var_run_t;
files_pid_file(pacemaker_var_run_t)

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

allow pacemaker_t self:capability { chown dac_override fowner fsetid kill setuid };
allow pacemaker_t self:process { setrlimit signal setpgid };
allow pacemaker_t self:fifo_file rw_fifo_file_perms;
allow pacemaker_t self:unix_stream_socket { connectto accept listen };

manage_dirs_pattern(pacemaker_t, pacemaker_tmp_t, pacemaker_tmp_t)
manage_files_pattern(pacemaker_t, pacemaker_tmp_t, pacemaker_tmp_t)
files_tmp_filetrans(pacemaker_t, pacemaker_tmp_t, { file dir })

manage_dirs_pattern(pacemaker_t, pacemaker_tmpfs_t, pacemaker_tmpfs_t)
manage_files_pattern(pacemaker_t, pacemaker_tmpfs_t, pacemaker_tmpfs_t)
fs_tmpfs_filetrans(pacemaker_t, pacemaker_tmpfs_t, { dir file })

manage_dirs_pattern(pacemaker_t, pacemaker_var_lib_t, pacemaker_var_lib_t)
manage_files_pattern(pacemaker_t, pacemaker_var_lib_t, pacemaker_var_lib_t)
files_var_lib_filetrans(pacemaker_t, pacemaker_var_lib_t, { dir file })

manage_dirs_pattern(pacemaker_t, pacemaker_var_run_t, pacemaker_var_run_t)
manage_files_pattern(pacemaker_t, pacemaker_var_run_t, pacemaker_var_run_t)
files_pid_filetrans(pacemaker_t, pacemaker_var_run_t, { dir file })

kernel_getattr_core_if(pacemaker_t)
kernel_read_all_sysctls(pacemaker_t)
kernel_read_messages(pacemaker_t)
kernel_read_network_state(pacemaker_t)
kernel_read_software_raid_state(pacemaker_t)
kernel_read_system_state(pacemaker_t)

corecmd_exec_bin(pacemaker_t)
corecmd_exec_shell(pacemaker_t)

dev_getattr_mtrr_dev(pacemaker_t)
dev_read_rand(pacemaker_t)
dev_read_urand(pacemaker_t)

domain_read_all_domains_state(pacemaker_t)
domain_use_interactive_fds(pacemaker_t)

files_read_kernel_symbol_table(pacemaker_t)

fs_getattr_all_fs(pacemaker_t)

auth_use_nsswitch(pacemaker_t)

logging_send_syslog_msg(pacemaker_t)

miscfiles_read_localization(pacemaker_t)

optional_policy(`
	corosync_read_log(pacemaker_t)
	corosync_stream_connect(pacemaker_t)
')