1 policy_module(pulseaudio, 1.2.3)
3 ########################################
9 type pulseaudio_exec_t;
10 init_daemon_domain(pulseaudio_t, pulseaudio_exec_t)
11 application_domain(pulseaudio_t, pulseaudio_exec_t)
12 ubac_constrained(pulseaudio_t)
13 role system_r types pulseaudio_t;
15 type pulseaudio_home_t;
16 userdom_user_home_content(pulseaudio_home_t)
18 type pulseaudio_tmpfs_t;
19 files_tmpfs_file(pulseaudio_tmpfs_t)
20 ubac_constrained(pulseaudio_tmpfs_t)
22 type pulseaudio_var_lib_t;
23 files_type(pulseaudio_var_lib_t)
24 ubac_constrained(pulseaudio_var_lib_t)
26 type pulseaudio_var_run_t;
27 files_pid_file(pulseaudio_var_run_t)
28 ubac_constrained(pulseaudio_var_run_t)
30 ########################################
32 # pulseaudio local policy
35 allow pulseaudio_t self:capability { fowner fsetid chown setgid setuid sys_nice sys_resource sys_tty_config };
36 allow pulseaudio_t self:process { getcap setcap setrlimit setsched getsched signal signull };
37 allow pulseaudio_t self:fifo_file rw_file_perms;
38 allow pulseaudio_t self:unix_stream_socket { create_stream_socket_perms connectto };
39 allow pulseaudio_t self:unix_dgram_socket { sendto create_socket_perms };
40 allow pulseaudio_t self:tcp_socket create_stream_socket_perms;
41 allow pulseaudio_t self:udp_socket create_socket_perms;
42 allow pulseaudio_t self:netlink_kobject_uevent_socket create_socket_perms;
44 manage_dirs_pattern(pulseaudio_t, pulseaudio_home_t, pulseaudio_home_t)
45 manage_files_pattern(pulseaudio_t, pulseaudio_home_t, pulseaudio_home_t)
46 userdom_search_user_home_dirs(pulseaudio_t)
48 manage_dirs_pattern(pulseaudio_t, pulseaudio_var_lib_t, pulseaudio_var_lib_t)
49 manage_files_pattern(pulseaudio_t, pulseaudio_var_lib_t, pulseaudio_var_lib_t)
50 manage_lnk_files_pattern(pulseaudio_t, pulseaudio_var_lib_t, pulseaudio_var_lib_t)
51 files_var_lib_filetrans(pulseaudio_t, pulseaudio_var_lib_t, { dir file })
53 manage_dirs_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
54 manage_files_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
55 manage_sock_files_pattern(pulseaudio_t, pulseaudio_var_run_t, pulseaudio_var_run_t)
56 files_pid_filetrans(pulseaudio_t, pulseaudio_var_run_t, { dir file })
58 can_exec(pulseaudio_t, pulseaudio_exec_t)
60 kernel_getattr_proc(pulseaudio_t)
61 kernel_read_system_state(pulseaudio_t)
62 kernel_read_kernel_sysctls(pulseaudio_t)
64 corecmd_exec_bin(pulseaudio_t)
66 corenet_all_recvfrom_unlabeled(pulseaudio_t)
67 corenet_all_recvfrom_netlabel(pulseaudio_t)
68 corenet_tcp_bind_pulseaudio_port(pulseaudio_t)
69 corenet_tcp_bind_soundd_port(pulseaudio_t)
70 corenet_tcp_sendrecv_generic_if(pulseaudio_t)
71 corenet_tcp_sendrecv_generic_node(pulseaudio_t)
72 corenet_udp_bind_sap_port(pulseaudio_t)
73 corenet_udp_sendrecv_generic_if(pulseaudio_t)
74 corenet_udp_sendrecv_generic_node(pulseaudio_t)
76 dev_read_sound(pulseaudio_t)
77 dev_write_sound(pulseaudio_t)
78 dev_read_sysfs(pulseaudio_t)
79 dev_read_urand(pulseaudio_t)
81 files_read_etc_files(pulseaudio_t)
82 files_read_usr_files(pulseaudio_t)
84 fs_rw_anon_inodefs_files(pulseaudio_t)
85 fs_getattr_tmpfs(pulseaudio_t)
86 fs_list_inotifyfs(pulseaudio_t)
88 term_use_all_ttys(pulseaudio_t)
89 term_use_all_ptys(pulseaudio_t)
91 auth_use_nsswitch(pulseaudio_t)
93 logging_send_syslog_msg(pulseaudio_t)
95 miscfiles_read_localization(pulseaudio_t)
97 # cjp: this seems excessive. need to confirm
98 userdom_manage_user_home_content_files(pulseaudio_t)
99 userdom_manage_user_tmp_files(pulseaudio_t)
100 userdom_manage_user_tmpfs_files(pulseaudio_t)
103 bluetooth_stream_connect(pulseaudio_t)
107 dbus_system_domain(pulseaudio_t, pulseaudio_exec_t)
108 dbus_system_bus_client(pulseaudio_t)
109 dbus_session_bus_client(pulseaudio_t)
110 dbus_connect_session_bus(pulseaudio_t)
113 consolekit_dbus_chat(pulseaudio_t)
117 hal_dbus_chat(pulseaudio_t)
121 policykit_dbus_chat(pulseaudio_t)
125 rpm_dbus_chat(pulseaudio_t)
130 rtkit_scheduled(pulseaudio_t)
134 policykit_domtrans_auth(pulseaudio_t)
135 policykit_read_lib(pulseaudio_t)
136 policykit_read_reload(pulseaudio_t)
140 udev_read_state(pulseaudio_t)
141 udev_read_db(pulseaudio_t)
145 xserver_stream_connect(pulseaudio_t)
146 xserver_manage_xdm_tmp_files(pulseaudio_t)
147 xserver_read_xdm_lib_files(pulseaudio_t)
148 xserver_read_xdm_pid(pulseaudio_t)
149 xserver_user_x_domain_template(pulseaudio, pulseaudio_t, pulseaudio_tmpfs_t)