## Dynamic host configuration protocol server. ######################################## ## ## Execute a domain transition to run dhcpd. ## ## ## ## Domain allowed to transition. ## ## # interface(`dhcpd_domtrans',` gen_require(` type dhcpd_t, dhcpd_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, dhcpd_exec_t, dhcpd_t) ') ######################################## ## ## Set attributes of dhcpd server ## state files. ## ## ## ## Domain allowed access. ## ## # interface(`dhcpd_setattr_state_files',` gen_require(` type dhcpd_state_t; ') sysnet_search_dhcp_state($1) allow $1 dhcpd_state_t:file setattr_file_perms; ') ######################################## ## ## Execute dhcp server in the dhcp domain. ## ## ## ## Domain allowed to transition. ## ## # # interface(`dhcpd_initrc_domtrans',` gen_require(` type dhcpd_initrc_exec_t; ') init_labeled_script_domtrans($1, dhcpd_initrc_exec_t) ') ######################################## ## ## Execute dhcpd server in the dhcpd domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`dhcpd_systemctl',` gen_require(` type dhcpd_unit_file_t; type dhcpd_t; ') systemd_exec_systemctl($1) systemd_search_unit_dirs($1) allow $1 dhcpd_unit_file_t:file read_file_perms; allow $1 dhcpd_unit_file_t:service manage_service_perms; ps_process_pattern($1, dhcpd_t) ') ######################################## ## ## All of the rules required to ## administrate an dhcpd environment. ## ## ## ## Domain allowed access. ## ## ## ## ## Role allowed access. ## ## ## # interface(`dhcpd_admin',` gen_require(` type dhcpd_t, dhcpd_tmp_t, dhcpd_state_t; type dhcpd_var_run_t, dhcpd_initrc_exec_t; type dhcpd_unit_file_t; ') allow $1 dhcpd_t:process signal_perms; ps_process_pattern($1, dhcpd_t) tunable_policy(`deny_ptrace',`',` allow $1 dhcpd_t:process ptrace; ') init_labeled_script_domtrans($1, dhcpd_initrc_exec_t) domain_system_change_exemption($1) role_transition $2 dhcpd_initrc_exec_t system_r; allow $2 system_r; files_list_tmp($1) admin_pattern($1, dhcpd_tmp_t) files_list_var_lib($1) admin_pattern($1, dhcpd_state_t) files_list_pids($1) admin_pattern($1, dhcpd_var_run_t) dhcpd_systemctl($1) admin_pattern($1, dhcpd_unit_file_t) allow $1 dhcpd_unit_file_t:service all_service_perms; ')