]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/services/abrt.te
abrt_dump_oops reads /var/log/messages
[people/stevee/selinux-policy.git] / policy / modules / services / abrt.te
CommitLineData
826d0142 1policy_module(abrt, 1.2.0)
e3a90e35
CP
2
3########################################
4#
5# Declarations
6#
7
3eaa9939 8## <desc>
9a0f7994
DG
9## <p>
10## Allow ABRT to modify public files
11## used for public file transfer services.
12## </p>
3eaa9939
DW
13## </desc>
14gen_tunable(abrt_anon_write, false)
15
e3a90e35
CP
16type abrt_t;
17type abrt_exec_t;
18init_daemon_domain(abrt_t, abrt_exec_t)
19
20type abrt_initrc_exec_t;
21init_script_file(abrt_initrc_exec_t)
22
23# etc files
24type abrt_etc_t;
25files_config_file(abrt_etc_t)
26
27# log files
28type abrt_var_log_t;
29logging_log_file(abrt_var_log_t)
30
31# tmp files
32type abrt_tmp_t;
33files_tmp_file(abrt_tmp_t)
34
35# var/cache files
36type abrt_var_cache_t;
37files_type(abrt_var_cache_t)
38
39# pid files
40type abrt_var_run_t;
41files_pid_file(abrt_var_run_t)
42
21fd3a28
DW
43type abrt_dump_oops_t;
44type abrt_dump_oops_exec_t;
45init_system_domain(abrt_dump_oops_t, abrt_dump_oops_exec_t)
46
47permissive abrt_dump_oops_t;
48
1b2f08ea
CP
49# type needed to allow all domains
50# to handle /var/cache/abrt
51type abrt_helper_t;
52type abrt_helper_exec_t;
53application_domain(abrt_helper_t, abrt_helper_exec_t)
54role system_r types abrt_helper_t;
55
56ifdef(`enable_mcs',`
57 init_ranged_daemon_domain(abrt_t, abrt_exec_t, s0 - mcs_systemhigh)
58')
59
6795d321
MG
60#
61# Support for ABRT retrace server
62#
63
64type abrt_retrace_worker_t;
65type abrt_retrace_worker_exec_t;
66application_domain(abrt_retrace_worker_t, abrt_retrace_worker_exec_t)
67role system_r types abrt_retrace_worker_t;
68
69type abrt_retrace_coredump_t;
70type abrt_retrace_coredump_exec_t;
71application_domain(abrt_retrace_coredump_t, abrt_retrace_coredump_exec_t)
72role system_r types abrt_retrace_coredump_t;
73
74permissive abrt_retrace_worker_exec_t;
75permissive abrt_retrace_coredump_t;
76
77type abrt_retrace_cache_t;
78files_type(abrt_retrace_cache_t)
79
9dd53ce4 80type abrt_retrace_spool_t;
0059652b 81files_spool_file(abrt_retrace_spool_t)
9dd53ce4 82
e3a90e35
CP
83########################################
84#
85# abrt local policy
86#
87
362793cb 88allow abrt_t self:capability { chown dac_override fowner fsetid kill setgid setuid sys_nice };
1b2f08ea 89dontaudit abrt_t self:capability sys_rawio;
3eaa9939 90allow abrt_t self:process { sigkill signal signull setsched getsched };
e3a90e35
CP
91
92allow abrt_t self:fifo_file rw_fifo_file_perms;
93allow abrt_t self:tcp_socket create_stream_socket_perms;
94allow abrt_t self:udp_socket create_socket_perms;
95allow abrt_t self:unix_dgram_socket create_socket_perms;
96allow abrt_t self:netlink_route_socket r_netlink_socket_perms;
97
98# abrt etc files
95985585 99list_dirs_pattern(abrt_t, abrt_etc_t, abrt_etc_t)
e3a90e35
CP
100rw_files_pattern(abrt_t, abrt_etc_t, abrt_etc_t)
101
102# log file
103manage_files_pattern(abrt_t, abrt_var_log_t, abrt_var_log_t)
104logging_log_filetrans(abrt_t, abrt_var_log_t, file)
105
1b2f08ea 106# abrt tmp files
e3a90e35
CP
107manage_dirs_pattern(abrt_t, abrt_tmp_t, abrt_tmp_t)
108manage_files_pattern(abrt_t, abrt_tmp_t, abrt_tmp_t)
109files_tmp_filetrans(abrt_t, abrt_tmp_t, { file dir })
3eaa9939 110can_exec(abrt_t, abrt_tmp_t)
e3a90e35
CP
111
112# abrt var/cache files
113manage_files_pattern(abrt_t, abrt_var_cache_t, abrt_var_cache_t)
114manage_dirs_pattern(abrt_t, abrt_var_cache_t, abrt_var_cache_t)
1b2f08ea 115manage_lnk_files_pattern(abrt_t, abrt_var_cache_t, abrt_var_cache_t)
e3a90e35 116files_var_filetrans(abrt_t, abrt_var_cache_t, { file dir })
b5212295 117files_spool_filetrans(abrt_t, abrt_var_cache_t, dir)
e3a90e35
CP
118
119# abrt pid files
120manage_files_pattern(abrt_t, abrt_var_run_t, abrt_var_run_t)
121manage_dirs_pattern(abrt_t, abrt_var_run_t, abrt_var_run_t)
b5212295 122manage_sock_files_pattern(abrt_t, abrt_var_run_t, abrt_var_run_t)
1b2f08ea 123manage_lnk_files_pattern(abrt_t, abrt_var_run_t, abrt_var_run_t)
3eaa9939 124files_pid_filetrans(abrt_t, abrt_var_run_t, { file dir sock_file })
e3a90e35
CP
125
126kernel_read_ring_buffer(abrt_t)
127kernel_read_system_state(abrt_t)
128kernel_rw_kernel_sysctl(abrt_t)
129
130corecmd_exec_bin(abrt_t)
131corecmd_exec_shell(abrt_t)
1b2f08ea 132corecmd_read_all_executables(abrt_t)
e3a90e35 133
cd173453
DG
134corenet_all_recvfrom_netlabel(abrt_t)
135corenet_all_recvfrom_unlabeled(abrt_t)
cd173453
DG
136corenet_tcp_sendrecv_generic_if(abrt_t)
137corenet_tcp_sendrecv_generic_node(abrt_t)
138corenet_tcp_sendrecv_generic_port(abrt_t)
1b2f08ea
CP
139corenet_tcp_bind_generic_node(abrt_t)
140corenet_tcp_connect_http_port(abrt_t)
141corenet_tcp_connect_ftp_port(abrt_t)
142corenet_tcp_connect_all_ports(abrt_t)
143corenet_sendrecv_http_client_packets(abrt_t)
144
1b2f08ea 145dev_getattr_all_chr_files(abrt_t)
9ca17b9f 146dev_read_rand(abrt_t)
e3a90e35 147dev_read_urand(abrt_t)
1b2f08ea
CP
148dev_rw_sysfs(abrt_t)
149dev_dontaudit_read_raw_memory(abrt_t)
150
151domain_getattr_all_domains(abrt_t)
152domain_read_all_domains_state(abrt_t)
153domain_signull_all_domains(abrt_t)
e3a90e35
CP
154
155files_getattr_all_files(abrt_t)
8effc8a7 156files_read_config_files(abrt_t)
6a074ab5 157files_read_etc_runtime_files(abrt_t)
1b2f08ea
CP
158files_read_var_symlinks(abrt_t)
159files_read_var_lib_files(abrt_t)
e3a90e35 160files_read_usr_files(abrt_t)
1b2f08ea
CP
161files_read_generic_tmp_files(abrt_t)
162files_read_kernel_modules(abrt_t)
163files_dontaudit_list_default(abrt_t)
164files_dontaudit_read_default_files(abrt_t)
3eaa9939
DW
165files_dontaudit_read_all_symlinks(abrt_t)
166files_dontaudit_getattr_all_sockets(abrt_t)
e3a90e35
CP
167
168fs_list_inotifyfs(abrt_t)
169fs_getattr_all_fs(abrt_t)
170fs_getattr_all_dirs(abrt_t)
1b2f08ea
CP
171fs_read_fusefs_files(abrt_t)
172fs_read_noxattr_fs_files(abrt_t)
173fs_read_nfs_files(abrt_t)
174fs_read_nfs_symlinks(abrt_t)
175fs_search_all(abrt_t)
e3a90e35 176
3eaa9939 177sysnet_dns_name_resolve(abrt_t)
e3a90e35
CP
178
179logging_read_generic_logs(abrt_t)
180logging_send_syslog_msg(abrt_t)
181
83406219 182miscfiles_read_generic_certs(abrt_t)
e3a90e35
CP
183miscfiles_read_localization(abrt_t)
184
1b2f08ea 185userdom_dontaudit_read_user_home_content_files(abrt_t)
3eaa9939
DW
186userdom_dontaudit_read_admin_home_files(abrt_t)
187
188tunable_policy(`abrt_anon_write',`
9a0f7994 189 miscfiles_manage_public_files(abrt_t)
3eaa9939
DW
190')
191
192optional_policy(`
cc6210eb 193 apache_list_modules(abrt_t)
3eaa9939
DW
194 apache_read_modules(abrt_t)
195')
e3a90e35
CP
196
197optional_policy(`
1b2f08ea 198 dbus_system_domain(abrt_t, abrt_exec_t)
e3a90e35
CP
199')
200
e3a90e35 201optional_policy(`
1b2f08ea
CP
202 nis_use_ypbind(abrt_t)
203')
204
205optional_policy(`
3eaa9939
DW
206 nsplugin_read_rw_files(abrt_t)
207 nsplugin_read_home(abrt_t)
208')
209
210optional_policy(`
9a0f7994 211 policykit_dbus_chat(abrt_t)
1b2f08ea
CP
212 policykit_domtrans_auth(abrt_t)
213 policykit_read_lib(abrt_t)
214 policykit_read_reload(abrt_t)
215')
216
b5212295
CP
217optional_policy(`
218 prelink_exec(abrt_t)
219 libs_exec_ld_so(abrt_t)
220 corecmd_exec_all_executables(abrt_t)
221')
222
1b2f08ea
CP
223# to install debuginfo packages
224optional_policy(`
225 rpm_exec(abrt_t)
226 rpm_dontaudit_manage_db(abrt_t)
227 rpm_manage_cache(abrt_t)
57ce3836 228 rpm_manage_log(abrt_t)
1b2f08ea
CP
229 rpm_manage_pid_files(abrt_t)
230 rpm_read_db(abrt_t)
231 rpm_signull(abrt_t)
e3a90e35
CP
232')
233
234# to run mailx plugin
235optional_policy(`
236 sendmail_domtrans(abrt_t)
237')
1b2f08ea 238
3eaa9939
DW
239optional_policy(`
240 sosreport_domtrans(abrt_t)
241 sosreport_read_tmp_files(abrt_t)
242 sosreport_delete_tmp_files(abrt_t)
243')
244
1b2f08ea
CP
245optional_policy(`
246 sssd_stream_connect(abrt_t)
247')
248
249########################################
250#
9a0f7994 251# abrt-helper local policy
1b2f08ea
CP
252#
253
b5212295 254allow abrt_helper_t self:capability { chown setgid sys_nice };
1b2f08ea
CP
255allow abrt_helper_t self:process signal;
256
257read_files_pattern(abrt_helper_t, abrt_etc_t, abrt_etc_t)
258
b5212295 259files_search_spool(abrt_helper_t)
1b2f08ea
CP
260manage_dirs_pattern(abrt_helper_t, abrt_var_cache_t, abrt_var_cache_t)
261manage_files_pattern(abrt_helper_t, abrt_var_cache_t, abrt_var_cache_t)
262manage_lnk_files_pattern(abrt_helper_t, abrt_var_cache_t, abrt_var_cache_t)
263files_var_filetrans(abrt_helper_t, abrt_var_cache_t, { file dir })
264
265read_files_pattern(abrt_helper_t, abrt_var_run_t, abrt_var_run_t)
266read_lnk_files_pattern(abrt_helper_t, abrt_var_run_t, abrt_var_run_t)
267
622f03c6
DW
268corecmd_read_all_executables(abrt_helper_t)
269
1b2f08ea
CP
270domain_read_all_domains_state(abrt_helper_t)
271
272files_read_etc_files(abrt_helper_t)
3eaa9939 273files_dontaudit_all_non_security_leaks(abrt_helper_t)
1b2f08ea
CP
274
275fs_list_inotifyfs(abrt_helper_t)
276fs_getattr_all_fs(abrt_helper_t)
277
278auth_use_nsswitch(abrt_helper_t)
279
280logging_send_syslog_msg(abrt_helper_t)
281
282miscfiles_read_localization(abrt_helper_t)
283
284term_dontaudit_use_all_ttys(abrt_helper_t)
285term_dontaudit_use_all_ptys(abrt_helper_t)
286
9a0f7994 287ifdef(`hide_broken_symptoms',`
3eaa9939 288 domain_dontaudit_leaks(abrt_helper_t)
1b2f08ea
CP
289 userdom_dontaudit_read_user_home_content_files(abrt_helper_t)
290 userdom_dontaudit_read_user_tmp_files(abrt_helper_t)
291 dev_dontaudit_read_all_blk_files(abrt_helper_t)
292 dev_dontaudit_read_all_chr_files(abrt_helper_t)
293 dev_dontaudit_write_all_chr_files(abrt_helper_t)
294 dev_dontaudit_write_all_blk_files(abrt_helper_t)
295 fs_dontaudit_rw_anon_inodefs_files(abrt_helper_t)
ef521e99
DG
296
297 optional_policy(`
298 rpm_dontaudit_leaks(abrt_helper_t)
299 ')
1b2f08ea 300')
3eaa9939 301
9a0f7994 302ifdef(`hide_broken_symptoms',`
3eaa9939 303 gen_require(`
9a0f7994 304 attribute domain;
3eaa9939
DW
305 ')
306
9a0f7994 307 allow abrt_t self:capability sys_resource;
3eaa9939
DW
308 allow abrt_t domain:file write;
309 allow abrt_t domain:process setrlimit;
310')
6795d321
MG
311
312#######################################
313#
314# abrt retrace coredump policy
315#
316
317allow abrt_retrace_coredump_t self:fifo_file rw_fifo_file_perms;
318
9dd53ce4
MG
319list_dirs_pattern(abrt_retrace_coredump_t, abrt_retrace_cache_t, abrt_retrace_cache_t)
320read_files_pattern(abrt_retrace_coredump_t, abrt_retrace_cache_t, abrt_retrace_cache_t)
321read_lnk_files_pattern(abrt_retrace_coredump_t, abrt_retrace_cache_t, abrt_retrace_cache_t)
322
323list_dirs_pattern(abrt_retrace_coredump_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
324read_files_pattern(abrt_retrace_coredump_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
325read_lnk_files_pattern(abrt_retrace_coredump_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
326
6795d321
MG
327kernel_read_system_state(abrt_retrace_coredump_t)
328
329corecmd_exec_bin(abrt_retrace_coredump_t)
330corecmd_exec_shell(abrt_retrace_coredump_t)
331
332dev_read_urand(abrt_retrace_coredump_t)
333
334files_read_etc_files(abrt_retrace_coredump_t)
335files_read_usr_files(abrt_retrace_coredump_t)
336
337logging_send_syslog_msg(abrt_retrace_coredump_t)
338
339miscfiles_read_localization(abrt_retrace_coredump_t)
340
341sysnet_dns_name_resolve(abrt_retrace_coredump_t)
342
343# to install debuginfo packages
344optional_policy(`
345 rpm_exec(abrt_retrace_coredump_t)
346 rpm_dontaudit_manage_db(abrt_retrace_coredump_t)
347 rpm_manage_cache(abrt_retrace_coredump_t)
348 rpm_manage_log(abrt_retrace_coredump_t)
349 rpm_manage_pid_files(abrt_retrace_coredump_t)
350 rpm_read_db(abrt_retrace_coredump_t)
351 rpm_signull(abrt_retrace_coredump_t)
9bf5a594 352')
6795d321
MG
353
354#######################################
355#
356# abrt retrace worker policy
357#
358
359allow abrt_retrace_worker_t self:capability { setuid };
360
361allow abrt_retrace_worker_t self:fifo_file rw_fifo_file_perms;
362
363domtrans_pattern(abrt_retrace_worker_t, abrt_retrace_coredump_exec_t, abrt_retrace_coredump_t)
364allow abrt_retrace_worker_t abrt_retrace_coredump_exec_t:file ioctl;
365
9dd53ce4
MG
366manage_dirs_pattern(abrt_retrace_worker_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
367manage_files_pattern(abrt_retrace_worker_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
368manage_lnk_files_pattern(abrt_retrace_worker_t, abrt_retrace_spool_t, abrt_retrace_spool_t)
6795d321 369
fceb08fe 370allow abrt_retrace_worker_t abrt_etc_t:file read_file_perms;
6795d321
MG
371
372can_exec(abrt_retrace_worker_t, abrt_retrace_worker_exec_t)
373
374kernel_read_system_state(abrt_retrace_worker_t)
375
376corecmd_exec_bin(abrt_retrace_worker_t)
377corecmd_exec_shell(abrt_retrace_worker_t)
378
379dev_read_urand(abrt_retrace_worker_t)
380
381files_read_etc_files(abrt_retrace_worker_t)
382files_read_usr_files(abrt_retrace_worker_t)
383
384logging_send_syslog_msg(abrt_retrace_worker_t)
385
386miscfiles_read_localization(abrt_retrace_worker_t)
387
388sysnet_dns_name_resolve(abrt_retrace_worker_t)
389
390optional_policy(`
391 mock_domtrans(abrt_retrace_worker_t)
392')
21fd3a28
DW
393
394########################################
395#
396# abrt_dump_oops local policy
397#
398
399allow abrt_dump_oops_t self:fifo_file rw_fifo_file_perms;
400allow abrt_dump_oops_t self:unix_stream_socket create_stream_socket_perms;
401
402files_search_spool(abrt_dump_oops_t)
403manage_dirs_pattern(abrt_dump_oops_t, abrt_var_cache_t, abrt_var_cache_t)
404manage_files_pattern(abrt_dump_oops_t, abrt_var_cache_t, abrt_var_cache_t)
405manage_lnk_files_pattern(abrt_dump_oops_t, abrt_var_cache_t, abrt_var_cache_t)
406files_var_filetrans(abrt_dump_oops_t, abrt_var_cache_t, { file dir })
407
408read_files_pattern(abrt_dump_oops_t, abrt_var_run_t, abrt_var_run_t)
409read_lnk_files_pattern(abrt_dump_oops_t, abrt_var_run_t, abrt_var_run_t)
410
411domain_use_interactive_fds(abrt_dump_oops_t)
412
413files_read_etc_files(abrt_dump_oops_t)
414
98a1cb30 415logging_read_generic_logs(abrt_helper_t)
21fd3a28
DW
416logging_send_syslog_msg(abrt_dump_oops_t)
417
418miscfiles_read_localization(abrt_dump_oops_t)