# Copyright (C) 2005 Tresys Technology, LLC ######################################## # # modutils_read_kernel_modules(domain,[`optional']) # define(`modutils_read_kernel_modules',` requires_block_template(modutils_read_kernel_modules_depend,$2) allow $1 modules_object_t:file { getattr read }; allow $1 modules_object_t:dir { getattr search read }; ') define(`modutils_read_kernel_modules_depend',` type modules_object_t; class file { getattr read }; class dir { getattr search read }; ') ######################################## # # modutils_read_kernel_module_dependencies(domain,[`optional']) # define(`modutils_read_kernel_module_dependencies',` requires_block_template(modutils_read_kernel_module_dependencies_depend,$2) allow $1 modules_dep_t:file { getattr read }; allow $1 modules_object_t:dir { getattr search read }; ') define(`modutils_read_kernel_module_dependencies_depend',` type modules_object_t, modules_dep_t; class file { getattr create read write setattr unlink }; class dir { search read write add_name remove_name }; ') ######################################## # # modutils_read_kernel_module_loading_config(domain,[`optional']) # define(`modutils_read_kernel_module_loading_config',` requires_block_template(modutils_read_kernel_module_loading_config_depend,$2) allow $1 modules_conf_t:file { getattr read }; ') define(`modutils_read_kernel_module_loading_config_depend',` type modules_conf_t; class file { getattr create read write setattr unlink }; ') ######################################## # # modutils_modify_kernel_modules(domain,[`optional']) # define(`modutils_modify_kernel_modules',` requires_block_template(modutils_modify_kernel_modules_depend,$2) allow $1 modules_object_t:file { getattr create read write setattr unlink }; allow $1 modules_object_t:dir { getattr search read write add_name remove_name }; ') define(`modutils_modify_kernel_modules_depend',` type modules_object_t; class file { getattr create read write setattr unlink }; class dir { getattr search read write add_name remove_name }; ') ######################################## # # modutils_insmod_transition(domain,[`optional']) # define(`modutils_insmod_transition',` requires_block_template(modutils_insmod_transition_depend,$2) allow $1 insmod_exec_t:file { getattr read execute }; allow $1 insmod_t:process transition; type_transition $1 insmod_exec_t:file insmod_t; dontaudit $1 insmod_t:process { noatsecure siginh rlimitinh }; ') define(`modutils_insmod_transition_depend',` type insmod_t; class file { getattr read execute }; class process { transition noatsecure siginh rlimitinh }; ') ######################################## # # modutils_insmod_execute(domain,[`optional']) # define(`modutils_insmod_execute',` requires_block_template(modutils_insmod_execute_depend,$2) allow $1 insmod_exec_t:file { getattr read execute execute_no_trans }; ') define(`modutils_insmod_execute_depend',` type insmod_t; class file { getattr read execute execute_no_trans }; ')