# Copyright (C) 2005 Tresys Technology, LLC ## ## ## Policy for hotplug system, for supporting the ## connection and disconnection of devices at runtime. ## ####################################### # # hotplug_transition(domain) # define(`hotplug_transition',` requires_block_template(`$0'_depend) allow $1 hotplug_exec_t:file { getattr read execute }; allow $1 hotplug_t:process transition; type_transition $1 hotplug_exec_t:process hotplug_t; dontaudit $1 hotplug_t:process { noatsecure siginh rlimitinh }; allow $1 hotplug_t:fd use; allow hotplug_t $1:fd use; allow hotplug_t $1:fifo_file rw_file_perms; allow hotplug_t $1:process sigchld; ') define(`hotplug_transition_depend',` type hotplug_t, hotplug_exec_t; class file { getattr read execute }; class process { transition noatsecure siginh rlimitinh sigchld }; class fd use; class fifo_file rw_file_perms; ') ####################################### # # hotplug_execute(domain) # define(`hotplug_execute',` requires_block_template(`$0'_depend) allow $1 hotplug_exec_t:file { getattr read execute execute_no_trans }; ') define(`hotplug_execute_depend',` type hotplug_t; class file { getattr read execute execute_no_trans }; ') ####################################### # # hotplug_use_file_descriptors(domain) # define(`hotplug_use_file_descriptors',` requires_block_template(`$0'_depend) allow $1 hotplug_t:fd use; ') define(`hotplug_use_file_descriptors_depend',` type hotplug_t; class fd use; ') ####################################### # # hotplug_ignore_use_file_descriptors(domain) # define(`hotplug_ignore_use_file_descriptors',` requires_block_template(`$0'_depend) dontaudit $1 hotplug_t:fd use; ') define(`hotplug_ignore_use_file_descriptors_depend',` type hotplug_t; class fd use; ') ######################################## # # hotplug_ignore_search_config_directory(domain) # define(`hotplug_ignore_search_config_directory',` requires_block_template(`$0'_depend) dontaudit $1 hotplug_etc_t:dir search; ') define(`hotplug_ignore_search_config_directory_depend',` type hotplug_etc_t; class dir search; ') ######################################## ## ## ## Read the configuration files for hotplug. ## ## ## The type of the process performing this action. ## ## ## # define(`hotplug_read_config',` requires_block_template(`$0'_depend) files_search_general_system_config_directory($1) allow $1 hotplug_etc_t:file { read getattr lock ioctl }; allow $1 hotplug_etc_t:dir { read getattr lock search ioctl }; allow $1 hotplug_etc_t:lnk_file { getattr read }; ') define(`hotplug_read_config_depend',` type hotplug_etc_t; class file { read getattr lock ioctl }; class dir { read getattr lock search ioctl }; class lnk_file { getattr read }; ') ##