1 ## <summary>GNU network object model environment (GNOME)</summary>
3 ############################################################
5 ## Role access for gnome
12 ## <param name="domain">
14 ## User domain for the role
18 interface(`gnome_role',`
20 type gconfd_t, gconfd_exec_t;
24 role $1 types gconfd_t;
26 domain_auto_trans($2, gconfd_exec_t, gconfd_t)
27 allow gconfd_t $2:fd use;
28 allow gconfd_t $2:fifo_file write;
29 allow gconfd_t $2:unix_stream_socket connectto;
31 ps_process_pattern($2, gconfd_t)
33 #gnome_stream_connect_gconf_template($1, $2)
34 read_files_pattern($2, gconf_tmp_t, gconf_tmp_t)
35 allow $2 gconfd_t:unix_stream_socket connectto;
38 ########################################
40 ## gconf connection template.
42 ## <param name="domain">
44 ## Domain allowed access.
48 interface(`gnome_stream_connect_gconf',`
50 type gconfd_t, gconf_tmp_t;
53 read_files_pattern($1, gconf_tmp_t, gconf_tmp_t)
54 allow $1 gconfd_t:unix_stream_socket connectto;
57 ########################################
59 ## Run gconfd in gconfd domain.
61 ## <param name="domain">
63 ## Domain allowed access.
67 interface(`gnome_domtrans_gconfd',`
69 type gconfd_t, gconfd_exec_t;
72 domtrans_pattern($1, gconfd_exec_t, gconfd_t)
75 ########################################
77 ## Dontaudit search gnome homedir content (.config)
79 ## <param name="domain">
81 ## Domain allowed access.
85 interface(`gnome_dontaudit_search_config',`
87 attribute gnome_home_type;
90 dontaudit $1 gnome_home_type:dir search_dir_perms;
93 ########################################
95 ## manage gnome homedir content (.config)
97 ## <param name="domain">
99 ## Domain allowed access.
103 interface(`gnome_manage_config',`
105 attribute gnome_home_type;
108 allow $1 gnome_home_type:dir manage_dir_perms;
109 allow $1 gnome_home_type:file manage_file_perms;
110 allow $1 gnome_home_type:lnk_file manage_lnk_file_perms;
111 userdom_search_user_home_dirs($1)
114 ########################################
116 ## Send general signals to all gconf domains.
118 ## <param name="domain">
120 ## Domain allowed access.
124 interface(`gnome_signal_all',`
126 attribute gnomedomain;
129 allow $1 gnomedomain:process signal;
132 ########################################
134 ## Create objects in a Gnome cache home directory
135 ## with an automatic type transition to
136 ## a specified private type.
138 ## <param name="domain">
140 ## Domain allowed access.
143 ## <param name="private_type">
145 ## The type of the object to create.
148 ## <param name="object_class">
150 ## The class of the object to be created.
154 interface(`gnome_cache_filetrans',`
159 filetrans_pattern($1, cache_home_t, $2, $3)
160 userdom_search_user_home_dirs($1)
163 ########################################
165 ## Read generic cache home files (.cache)
167 ## <param name="domain">
169 ## Domain allowed access.
173 interface(`gnome_read_generic_cache_files',`
178 read_files_pattern($1, cache_home_t, cache_home_t)
179 userdom_search_user_home_dirs($1)
182 ########################################
184 ## Set attributes of cache home dir (.cache)
186 ## <param name="domain">
188 ## Domain allowed access.
192 interface(`gnome_setattr_cache_home_dir',`
197 setattr_dirs_pattern($1, cache_home_t, cache_home_t)
198 userdom_search_user_home_dirs($1)
201 ########################################
203 ## append to generic cache home files (.cache)
205 ## <param name="domain">
207 ## Domain allowed access.
211 interface(`gnome_append_generic_cache_files',`
216 append_files_pattern($1, cache_home_t, cache_home_t)
217 userdom_search_user_home_dirs($1)
220 ########################################
222 ## write to generic cache home files (.cache)
224 ## <param name="domain">
226 ## Domain allowed access.
230 interface(`gnome_write_generic_cache_files',`
235 write_files_pattern($1, cache_home_t, cache_home_t)
236 userdom_search_user_home_dirs($1)
239 ########################################
241 ## read gnome homedir content (.config)
243 ## <param name="domain">
245 ## Domain allowed access.
249 template(`gnome_read_config',`
251 attribute gnome_home_type;
254 list_dirs_pattern($1, gnome_home_type, gnome_home_type)
255 read_files_pattern($1, gnome_home_type, gnome_home_type)
256 read_lnk_files_pattern($1, gnome_home_type, gnome_home_type)
259 ########################################
261 ## Create objects in a Gnome gconf home directory
262 ## with an automatic type transition to
263 ## a specified private type.
265 ## <param name="domain">
267 ## Domain allowed access.
270 ## <param name="private_type">
272 ## The type of the object to create.
275 ## <param name="object_class">
277 ## The class of the object to be created.
281 interface(`gnome_data_filetrans',`
286 filetrans_pattern($1, data_home_t, $2, $3)
287 gnome_search_gconf($1)
290 #######################################
292 ## Manage gconf data home files
294 ## <param name="domain">
296 ## Domain allowed access.
300 interface(`gnome_manage_data',`
306 allow $1 gconf_home_t:dir search_dir_perms;
307 manage_files_pattern($1, data_home_t, data_home_t)
310 ########################################
312 ## Create gconf_home_t objects in the /root directory
314 ## <param name="domain">
316 ## Domain allowed access.
319 ## <param name="object_class">
321 ## The class of the object to be created.
325 interface(`gnome_admin_home_gconf_filetrans',`
330 userdom_admin_home_dir_filetrans($1, gconf_home_t, $2)
333 ########################################
335 ## read gconf config files
337 ## <param name="domain">
339 ## Domain allowed access.
343 interface(`gnome_read_gconf_config',`
348 allow $1 gconf_etc_t:dir list_dir_perms;
349 read_files_pattern($1, gconf_etc_t, gconf_etc_t)
353 #######################################
355 ## Manage gconf config files
357 ## <param name="domain">
359 ## Domain allowed access.
363 interface(`gnome_manage_gconf_config',`
368 allow $1 gconf_etc_t:dir list_dir_perms;
369 manage_files_pattern($1, gconf_etc_t, gconf_etc_t)
372 ########################################
374 ## Execute gconf programs in
375 ## in the caller domain.
377 ## <param name="domain">
379 ## Domain allowed access.
383 interface(`gnome_exec_gconf',`
388 can_exec($1, gconfd_exec_t)
391 ########################################
393 ## Read gconf home files
395 ## <param name="domain">
397 ## Domain allowed access.
401 interface(`gnome_read_gconf_home_files',`
407 userdom_search_user_home_dirs($1)
408 allow $1 gconf_home_t:dir list_dir_perms;
409 allow $1 data_home_t:dir list_dir_perms;
410 read_files_pattern($1, gconf_home_t, gconf_home_t)
411 read_files_pattern($1, data_home_t, data_home_t)
414 ########################################
416 ## search gconf homedir (.local)
418 ## <param name="domain">
420 ## Domain allowed access.
424 interface(`gnome_search_gconf',`
429 allow $1 gconf_home_t:dir search_dir_perms;
430 userdom_search_user_home_dirs($1)
433 ########################################
435 ## Set attributes of Gnome config dirs.
437 ## <param name="domain">
439 ## Domain allowed access.
443 interface(`gnome_setattr_config_dirs',`
448 setattr_dirs_pattern($1, gnome_home_t, gnome_home_t)
449 files_search_home($1)
452 ########################################
454 ## Append gconf home files
456 ## <param name="domain">
458 ## Domain allowed access.
462 interface(`gnome_append_gconf_home_files',`
467 append_files_pattern($1, gconf_home_t, gconf_home_t)
470 ########################################
472 ## manage gconf home files
474 ## <param name="domain">
476 ## Domain allowed access.
480 interface(`gnome_manage_gconf_home_files',`
485 allow $1 gconf_home_t:dir list_dir_perms;
486 manage_files_pattern($1, gconf_home_t, gconf_home_t)
489 ########################################
491 ## Connect to gnome over an unix stream socket.
493 ## <param name="domain">
495 ## Domain allowed access.
498 ## <param name="user_domain">
500 ## The type of the user domain.
504 interface(`gnome_stream_connect',`
506 attribute gnome_home_type;
509 # Connect to pulseaudit server
510 stream_connect_pattern($1, gnome_home_type, gnome_home_type, $2)
513 ########################################
515 ## list gnome homedir content (.config)
517 ## <param name="domain">
519 ## Domain allowed access.
523 interface(`gnome_list_home_config',`
528 allow $1 config_home_t:dir list_dir_perms;
531 ########################################
533 ## Set attributes of gnome homedir content (.config)
535 ## <param name="domain">
537 ## Domain allowed access.
541 template(`gnome_setattr_home_config',`
546 setattr_dirs_pattern($1, config_home_t, config_home_t)
547 userdom_search_user_home_dirs($1)
550 ########################################
552 ## read gnome homedir content (.config)
554 ## <param name="domain">
556 ## Domain allowed access.
560 interface(`gnome_read_home_config',`
565 read_files_pattern($1, config_home_t, config_home_t)
568 ########################################
570 ## manage gnome homedir content (.config)
572 ## <param name="domain">
574 ## Domain allowed access.
578 template(`gnome_manage_home_config',`
583 manage_files_pattern($1, config_home_t, config_home_t)
586 ########################################
588 ## Read/Write all inherited gnome home config
590 ## <param name="domain">
592 ## Domain allowed access.
596 interface(`gnome_rw_inherited_config',`
598 attribute gnome_home_type;
601 allow $1 gnome_home_type:file rw_inherited_file_perms;
604 ########################################
606 ## Send and receive messages from
607 ## gconf system service over dbus.
609 ## <param name="domain">
611 ## Domain allowed access.
615 interface(`gnome_dbus_chat_gconfdefault',`
617 type gconfdefaultsm_t;
621 allow $1 gconfdefaultsm_t:dbus send_msg;
622 allow gconfdefaultsm_t $1:dbus send_msg;