policy_module(vhostmd, 1.1.0) ######################################## # # Declarations # type vhostmd_t; type vhostmd_exec_t; init_daemon_domain(vhostmd_t, vhostmd_exec_t) type vhostmd_initrc_exec_t; init_script_file(vhostmd_initrc_exec_t) type vhostmd_tmpfs_t; files_tmpfs_file(vhostmd_tmpfs_t) type vhostmd_var_run_t; files_pid_file(vhostmd_var_run_t) ######################################## # # Local policy # allow vhostmd_t self:capability { dac_read_search dac_override ipc_lock setuid setgid }; allow vhostmd_t self:process { setsched getsched signal }; allow vhostmd_t self:fifo_file rw_fifo_file_perms; manage_dirs_pattern(vhostmd_t, vhostmd_tmpfs_t, vhostmd_tmpfs_t) manage_files_pattern(vhostmd_t, vhostmd_tmpfs_t, vhostmd_tmpfs_t) fs_tmpfs_filetrans(vhostmd_t, vhostmd_tmpfs_t, { file dir }) manage_dirs_pattern(vhostmd_t, vhostmd_var_run_t, vhostmd_var_run_t) manage_files_pattern(vhostmd_t, vhostmd_var_run_t, vhostmd_var_run_t) manage_sock_files_pattern(vhostmd_t, vhostmd_var_run_t, vhostmd_var_run_t) files_pid_filetrans(vhostmd_t, vhostmd_var_run_t, { file dir sock_file }) kernel_read_kernel_sysctls(vhostmd_t) kernel_read_system_state(vhostmd_t) kernel_read_network_state(vhostmd_t) kernel_write_xen_state(vhostmd_t) corecmd_exec_bin(vhostmd_t) corecmd_exec_shell(vhostmd_t) corenet_all_recvfrom_unlabeled(vhostmd_t) corenet_all_recvfrom_netlabel(vhostmd_t) corenet_tcp_sendrecv_generic_if(vhostmd_t) corenet_tcp_sendrecv_generic_node(vhostmd_t) corenet_sendrecv_soundd_client_packets(vhostmd_t) corenet_tcp_connect_soundd_port(vhostmd_t) corenet_tcp_sendrecv_soundd_port(vhostmd_t) dev_read_rand(vhostmd_t) dev_read_urand(vhostmd_t) dev_read_sysfs(vhostmd_t) files_list_tmp(vhostmd_t) auth_use_nsswitch(vhostmd_t) logging_send_syslog_msg(vhostmd_t) optional_policy(` hostname_exec(vhostmd_t) ') optional_policy(` rpm_exec(vhostmd_t) rpm_read_db(vhostmd_t) #vhostmd work properly without allowing this permissions, so dontaudit rpm_dontaudit_manage_db(vhostmd_t) rpm_signull(vhostmd_t) ') optional_policy(` virt_read_qemu_pid_files(vhostmd_t) virt_read_config(vhostmd_t) virt_stream_connect(vhostmd_t) virt_stream_connect_svirt(vhostmd_t) virt_write_content(vhostmd_t) virt_rw_svirt_image(vhostmd_t) ') optional_policy(` xen_domtrans_xm(vhostmd_t) xen_stream_connect(vhostmd_t) xen_stream_connect_xenstore(vhostmd_t) xen_stream_connect_xm(vhostmd_t) ')