]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/system/udev.te
Remove module for gnome.
[people/stevee/selinux-policy.git] / policy / modules / system / udev.te
CommitLineData
63db3b7e 1policy_module(udev, 1.12.2)
3a9aef92
CP
2
3########################################
4#
5# Declarations
6#
7
f0574fa9 8type udev_t;
e070dd2d 9type udev_exec_t;
dfb86add 10type udev_helper_exec_t;
3f67f722 11kernel_domtrans_to(udev_t, udev_exec_t)
1815bad1 12domain_obj_id_change_exemption(udev_t)
3f67f722 13domain_entry_file(udev_t, udev_helper_exec_t)
15722ec9 14domain_interactive_fd(udev_t)
3f67f722 15init_daemon_domain(udev_t, udev_exec_t)
dfb86add
CP
16
17type udev_etc_t alias etc_udev_t;
9bbc757a 18files_config_file(udev_etc_t)
dfb86add 19
d56b33a1
CR
20type udev_rules_t;
21files_type(udev_rules_t)
22
3a9aef92 23type udev_var_run_t;
c9428d33 24files_pid_file(udev_var_run_t)
49dc3648 25typealias udev_var_run_t alias udev_tbl_t;
3a9aef92 26
e070dd2d 27ifdef(`enable_mcs',`
3f67f722
CP
28 kernel_ranged_domtrans_to(udev_t, udev_exec_t, s0 - mcs_systemhigh)
29 init_ranged_daemon_domain(udev_t, udev_exec_t, s0 - mcs_systemhigh)
e070dd2d
CP
30')
31
3a9aef92
CP
32########################################
33#
34# Local policy
35#
dfb86add 36
995bdbb1 37allow udev_t self:capability { chown dac_override dac_read_search fowner fsetid sys_admin mknod net_raw net_admin sys_nice sys_rawio sys_resource setuid setgid sys_nice };
30910b37 38dontaudit udev_t self:capability sys_tty_config;
d51f8cff
DW
39
40ifdef(`hide_broken_symptoms',`
41 # caused by some bogus kernel code
42 dontaudit udev_t self:capability sys_module;
43')
44
995bdbb1 45allow udev_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
46tunable_policy(`deny_ptrace',`',`
47 allow udev_t self:process ptrace;
48')
49
dfb86add
CP
50allow udev_t self:process { execmem setfscreate };
51allow udev_t self:fd use;
c0868a7a 52allow udev_t self:fifo_file rw_fifo_file_perms;
0b36a214 53allow udev_t self:sock_file read_sock_file_perms;
7edd02d4
CP
54allow udev_t self:shm create_shm_perms;
55allow udev_t self:sem create_sem_perms;
56allow udev_t self:msgq create_msgq_perms;
dfb86add 57allow udev_t self:msg { send receive };
77f6e2cd
CP
58allow udev_t self:unix_stream_socket { listen accept };
59allow udev_t self:unix_dgram_socket sendto;
60allow udev_t self:unix_stream_socket connectto;
61allow udev_t self:netlink_kobject_uevent_socket create_socket_perms;
7edd02d4 62allow udev_t self:rawip_socket create_socket_perms;
3eaa9939 63allow udev_t self:netlink_socket create_socket_perms;
dfb86add 64
7edd02d4
CP
65allow udev_t udev_exec_t:file write;
66can_exec(udev_t, udev_exec_t)
f5c42bd8 67
c0868a7a 68allow udev_t udev_helper_exec_t:dir list_dir_perms;
3c9b2e9b 69can_exec(udev_t, udev_helper_exec_t)
dfb86add
CP
70
71# read udev config
c0868a7a 72allow udev_t udev_etc_t:file read_file_perms;
dfb86add 73
d56b33a1 74list_dirs_pattern(udev_t, udev_rules_t, udev_rules_t)
3e3080f0
DW
75manage_files_pattern(udev_t, udev_rules_t, udev_rules_t)
76manage_lnk_files_pattern(udev_t, udev_rules_t, udev_rules_t)
d56b33a1 77
3f67f722 78manage_dirs_pattern(udev_t, udev_var_run_t, udev_var_run_t)
12a9ca53 79manage_sock_files_pattern(udev_t, udev_var_run_t, udev_var_run_t)
3f67f722 80manage_files_pattern(udev_t, udev_var_run_t, udev_var_run_t)
837163cf 81manage_lnk_files_pattern(udev_t, udev_var_run_t, udev_var_run_t)
3eaa9939 82files_pid_filetrans(udev_t, udev_var_run_t, { file dir })
66668399 83allow udev_t udev_var_run_t:file mounton;
382acd84
DW
84dev_filetrans(udev_t, udev_var_run_t, { file lnk_file } )
85
dfb86add 86kernel_read_system_state(udev_t)
837163cf 87kernel_request_load_module(udev_t)
445522dc 88kernel_getattr_core_if(udev_t)
1c1ac67f 89kernel_use_fds(udev_t)
445522dc
CP
90kernel_read_device_sysctls(udev_t)
91kernel_read_hotplug_sysctls(udev_t)
92kernel_read_modprobe_sysctls(udev_t)
93kernel_read_kernel_sysctls(udev_t)
94kernel_rw_hotplug_sysctls(udev_t)
95kernel_rw_unix_dgram_sockets(udev_t)
37f15c52 96kernel_dgram_send(udev_t)
0907bda1 97kernel_signal(udev_t)
3c9b2e9b 98kernel_search_debugfs(udev_t)
2082ce40 99kernel_stream_connect(udev_t)
d35c621e 100
8241b538
CP
101#https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=235182
102kernel_rw_net_sysctls(udev_t)
103kernel_read_network_state(udev_t)
3c9b2e9b 104kernel_read_software_raid_state(udev_t)
8241b538 105
eac818f0
CP
106corecmd_exec_all_executables(udev_t)
107
98a8ead4 108dev_rw_sysfs(udev_t)
25c043d1 109dev_manage_all_dev_nodes(udev_t)
7e9cab9c 110dev_rw_generic_usb_dev(udev_t)
207c4763
CP
111dev_rw_generic_files(udev_t)
112dev_delete_generic_files(udev_t)
8241b538
CP
113dev_search_usbfs(udev_t)
114dev_relabel_all_dev_nodes(udev_t)
08dccef2
CP
115# udev_node.c/node_symlink() symlink labels are explicitly
116# preserved, instead of short circuiting the relabel
117dev_relabel_generic_symlinks(udev_t)
a124c0a8 118dev_manage_generic_symlinks(udev_t)
f312c842 119dev_filetrans_all_named_dev(udev_t)
d35c621e 120
eac818f0 121domain_read_all_domains_state(udev_t)
837163cf 122domain_dontaudit_ptrace_all_domains(udev_t) #pidof triggers these
eac818f0 123
8241b538 124files_read_usr_files(udev_t)
eac818f0 125files_read_etc_runtime_files(udev_t)
431a14d0 126files_read_kernel_modules(udev_t)
795f6214 127files_read_system_conf_files(udev_t)
dfe675b8
DW
128
129# console_init manages files in /etc/sysconfig
130files_manage_etc_files(udev_t)
eac818f0 131files_exec_etc_files(udev_t)
7f4447f7 132files_exec_usr_files(udev_t)
eac818f0
CP
133files_dontaudit_search_isid_type_dirs(udev_t)
134files_getattr_generic_locks(udev_t)
135files_search_mnt(udev_t)
3eaa9939 136files_list_tmp(udev_t)
eac818f0 137
d35c621e 138fs_getattr_all_fs(udev_t)
b0d2243c 139fs_list_inotifyfs(udev_t)
837163cf 140fs_rw_anon_inodefs_files(udev_t)
3eaa9939
DW
141fs_list_auto_mountpoints(udev_t)
142fs_list_hugetlbfs(udev_t)
d35c621e 143
eac818f0
CP
144mcs_ptrace_all(udev_t)
145
f8233ab7
CP
146mls_file_read_all_levels(udev_t)
147mls_file_write_all_levels(udev_t)
eac818f0
CP
148mls_file_upgrade(udev_t)
149mls_file_downgrade(udev_t)
150mls_process_write_down(udev_t)
151
5e0da6a0
CP
152selinux_get_fs_mount(udev_t)
153selinux_validate_context(udev_t)
154selinux_compute_access_vector(udev_t)
155selinux_compute_create_context(udev_t)
156selinux_compute_relabel_context(udev_t)
157selinux_compute_user_contexts(udev_t)
3a9aef92 158
3ef029db
CP
159auth_read_pam_console_data(udev_t)
160auth_domtrans_pam_console(udev_t)
77f6e2cd
CP
161auth_use_nsswitch(udev_t)
162
68228b33
CP
163init_read_utmp(udev_t)
164init_dontaudit_write_utmp(udev_t)
6c911897 165init_getattr_initctl(udev_t)
2082ce40 166init_stream_connect(udev_t)
dfb86add 167
7a2f20a3 168logging_search_logs(udev_t)
c9428d33 169logging_send_syslog_msg(udev_t)
3c9b2e9b 170logging_send_audit_msgs(udev_t)
dfb86add 171
f5c42bd8 172miscfiles_read_localization(udev_t)
837163cf 173miscfiles_read_hwdata(udev_t)
f5c42bd8 174
c9428d33 175modutils_domtrans_insmod(udev_t)
ed38ca9f
CP
176# read modules.inputmap:
177modutils_read_module_deps(udev_t)
f5c42bd8 178
5e0da6a0
CP
179seutil_read_config(udev_t)
180seutil_read_default_contexts(udev_t)
181seutil_read_file_contexts(udev_t)
762d2cb9 182seutil_domtrans_setfiles(udev_t)
f5c42bd8 183
c9428d33 184sysnet_domtrans_ifconfig(udev_t)
3ef029db 185sysnet_domtrans_dhcpc(udev_t)
8241b538
CP
186sysnet_rw_dhcp_config(udev_t)
187sysnet_read_dhcpc_pid(udev_t)
188sysnet_delete_dhcpc_pid(udev_t)
189sysnet_signal_dhcpc(udev_t)
190sysnet_manage_config(udev_t)
191sysnet_etc_filetrans_config(udev_t)
1e5c2a41 192
56e0f315
DW
193systemd_login_read_pid_files(udev_t)
194
296273a7 195userdom_dontaudit_search_user_home_content(udev_t)
fd89e19f 196
ed38ca9f
CP
197ifdef(`distro_gentoo',`
198 # during boot, init scripts use /dev/.rcsysinit
199 # existance to determine if we are in early booting
200 init_getattr_script_status_files(udev_t)
201')
202
254bbc7b 203ifdef(`distro_redhat',`
98a8ead4
CP
204 fs_manage_tmpfs_dirs(udev_t)
205 fs_manage_tmpfs_files(udev_t)
ebdc3b79
CP
206 fs_manage_tmpfs_symlinks(udev_t)
207 fs_manage_tmpfs_sockets(udev_t)
4d851fe9
CP
208 fs_manage_tmpfs_blk_files(udev_t)
209 fs_manage_tmpfs_chr_files(udev_t)
210 fs_relabel_tmpfs_blk_file(udev_t)
211 fs_relabel_tmpfs_chr_file(udev_t)
ee4b1e0a 212 fs_manage_hugetlbfs_dirs(udev_t)
daa0e0b0 213
9c306697 214 term_use_generic_ptys(udev_t)
69748904 215
0c73cd25 216 # for arping used for static IP addresses on PCMCIA ethernet
c9428d33 217 netutils_domtrans(udev_t)
153fe24b 218
594e29e6
DW
219 optional_policy(`
220 unconfined_domain(udev_t)
221 ')
254bbc7b 222')
daa0e0b0 223
6c911897
CP
224optional_policy(`
225 alsa_domtrans(udev_t)
3c9b2e9b 226 alsa_read_lib(udev_t)
6c911897
CP
227 alsa_read_rw_config(udev_t)
228')
229
837163cf
CP
230optional_policy(`
231 bluetooth_domtrans(udev_t)
232')
233
8241b538
CP
234optional_policy(`
235 brctl_domtrans(udev_t)
236')
237
3c9b2e9b
CP
238optional_policy(`
239 clock_domtrans(udev_t)
240')
241
3eaa9939
DW
242optional_policy(`
243 consolekit_read_pid_files(udev_t)
244')
245
bb7170f6 246optional_policy(`
e200bcc0 247 consoletype_exec(udev_t)
dfb86add
CP
248')
249
837163cf
CP
250optional_policy(`
251 cups_domtrans_config(udev_t)
c71f02c0 252 cups_read_config(udev_t)
837163cf
CP
253')
254
bb7170f6 255optional_policy(`
296273a7 256 dbus_system_bus_client(udev_t)
0c3d1705
CP
257')
258
837163cf
CP
259optional_policy(`
260 devicekit_read_pid_files(udev_t)
261 devicekit_dgram_send(udev_t)
7e9cab9c 262 devicekit_domtrans_disk(udev_t)
837163cf
CP
263')
264
7d58fe42
DW
265optional_policy(`
266 gpsd_domtrans(udev_t)
267')
268
3c9b2e9b
CP
269optional_policy(`
270 lvm_domtrans(udev_t)
93ff1436 271 lvm_dgram_send(udev_t)
3c9b2e9b
CP
272')
273
8241b538
CP
274optional_policy(`
275 fstools_domtrans(udev_t)
276')
277
bb7170f6 278optional_policy(`
1c1ac67f 279 hal_dgram_send(udev_t)
a124c0a8
CP
280
281 ifdef(`hide_broken_symptoms',`
282 hal_dontaudit_rw_dgram_sockets(udev_t)
283 ')
9fd4b818
CP
284')
285
bb7170f6 286optional_policy(`
0c73cd25 287 hotplug_read_config(udev_t)
ed38ca9f
CP
288 # usb.agent searches /var/run/usb
289 hotplug_search_pids(udev_t)
1e5c2a41
CP
290')
291
837163cf
CP
292optional_policy(`
293 mount_domtrans(udev_t)
294')
295
3eaa9939
DW
296optional_policy(`
297 networkmanager_dbus_chat(udev_t)
298')
299
8241b538
CP
300optional_policy(`
301 openct_read_pid_files(udev_t)
302 openct_domtrans(udev_t)
303')
304
305optional_policy(`
306 pcscd_read_pub_files(udev_t)
307 pcscd_domtrans(udev_t)
308')
309
6c911897
CP
310optional_policy(`
311 raid_domtrans_mdadm(udev_t)
312')
313
3eaa9939
DW
314optional_policy(`
315 usbmuxd_domtrans(udev_t)
4fccad90 316 usbmuxd_stream_connect(udev_t)
3eaa9939
DW
317')
318
837163cf
CP
319optional_policy(`
320 unconfined_signal(udev_t)
321')
322
323optional_policy(`
324 vbetool_domtrans(udev_t)
325')
326
8241b538
CP
327optional_policy(`
328 kernel_write_xen_state(udev_t)
329 kernel_read_xen_state(udev_t)
330 xen_manage_log(udev_t)
331 xen_read_image_files(udev_t)
332')
333
3b914745
CP
334optional_policy(`
335 xserver_read_xdm_pid(udev_t)
336')