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