## Debian package manager. ######################################## ## ## Execute dpkg programs in the dpkg domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`dpkg_domtrans',` gen_require(` type dpkg_t, dpkg_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, dpkg_exec_t, dpkg_t) ') ######################################## ## ## Execute the dkpg in the caller domain. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_exec',` gen_require(` type dpkg_exec_t; ') corecmd_search_bin($1) can_exec($1, dpkg_exec_t) ') ######################################## ## ## Execute dpkg_script programs in ## the dpkg_script domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`dpkg_domtrans_script',` gen_require(` type dpkg_script_t; ') corecmd_shell_domtrans($1, dpkg_script_t) allow dpkg_script_t $1:fd use; allow dpkg_script_t $1:fifo_file rw_file_perms; allow dpkg_script_t $1:process sigchld; ') ######################################## ## ## Execute dpkg programs in the dpkg domain. ## ## ## ## Domain allowed to transition. ## ## ## ## ## Role allowed access. ## ## ## # interface(`dpkg_run',` gen_require(` attribute_role dpkg_roles; ') dpkg_domtrans($1) roleattribute $2 dpkg_roles; ') ######################################## ## ## Inherit and use file descriptors from dpkg. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_use_fds',` gen_require(` type dpkg_t; ') allow $1 dpkg_t:fd use; ') ######################################## ## ## Read from unnamed dpkg pipes. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_read_pipes',` gen_require(` type dpkg_t; ') allow $1 dpkg_t:fifo_file read_fifo_file_perms; ') ######################################## ## ## Read and write unnamed dpkg pipes. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_rw_pipes',` gen_require(` type dpkg_t; ') allow $1 dpkg_t:fifo_file rw_fifo_file_perms; ') ######################################## ## ## Inherit and use file descriptors ## from dpkg scripts. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_use_script_fds',` gen_require(` type dpkg_script_t; ') allow $1 dpkg_script_t:fd use; ') ######################################## ## ## Read dpkg package database content. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_read_db',` gen_require(` type dpkg_var_lib_t; ') files_search_var_lib($1) allow $1 dpkg_var_lib_t:dir list_dir_perms; read_files_pattern($1, dpkg_var_lib_t, dpkg_var_lib_t) read_lnk_files_pattern($1, dpkg_var_lib_t, dpkg_var_lib_t) ') ######################################## ## ## Create, read, write, and delete ## dpkg package database content. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_manage_db',` gen_require(` type dpkg_var_lib_t; ') files_search_var_lib($1) manage_files_pattern($1, dpkg_var_lib_t, dpkg_var_lib_t) manage_lnk_files_pattern($1, dpkg_var_lib_t, dpkg_var_lib_t) ') ######################################## ## ## Do not audit attempts to create, ## read, write, and delete dpkg ## package database content. ## ## ## ## Domain to not audit. ## ## # interface(`dpkg_dontaudit_manage_db',` gen_require(` type dpkg_var_lib_t; ') dontaudit $1 dpkg_var_lib_t:dir rw_dir_perms; dontaudit $1 dpkg_var_lib_t:file manage_file_perms; dontaudit $1 dpkg_var_lib_t:lnk_file manage_lnk_file_perms; ') ######################################## ## ## Create, read, write, and delete ## dpkg lock files. ## ## ## ## Domain allowed access. ## ## # interface(`dpkg_lock_db',` gen_require(` type dpkg_lock_t, dpkg_var_lib_t; ') files_search_var_lib($1) allow $1 dpkg_var_lib_t:dir list_dir_perms; allow $1 dpkg_lock_t:file manage_file_perms; ')