]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/services/dhcp.te
trunk: Remove hierarchy from portage module as it is not a good example of hieararchy.
[people/stevee/selinux-policy.git] / policy / modules / services / dhcp.te
CommitLineData
7c8fc35b 1
cfcf5004 2policy_module(dhcp, 1.6.0)
7c8fc35b
CP
3
4########################################
5#
6# Declarations
7#
8
9type dhcpd_t;
10type dhcpd_exec_t;
0bfccda4 11init_daemon_domain(dhcpd_t, dhcpd_exec_t)
7c8fc35b
CP
12
13type dhcpd_state_t;
14files_type(dhcpd_state_t)
15
16type dhcpd_tmp_t;
17files_tmp_file(dhcpd_tmp_t)
18
19type dhcpd_var_run_t;
20files_pid_file(dhcpd_var_run_t)
21
22########################################
23#
24# Local policy
25#
26
7b90f2db
CP
27allow dhcpd_t self:capability net_raw;
28dontaudit dhcpd_t self:capability { net_admin sys_tty_config };
681c9a02 29allow dhcpd_t self:process signal_perms;
7c8fc35b
CP
30allow dhcpd_t self:fifo_file { read write getattr };
31allow dhcpd_t self:unix_dgram_socket create_socket_perms;
32allow dhcpd_t self:unix_stream_socket create_socket_perms;
33allow dhcpd_t self:netlink_route_socket r_netlink_socket_perms;
34allow dhcpd_t self:tcp_socket create_stream_socket_perms;
35allow dhcpd_t self:udp_socket create_socket_perms;
36# Allow dhcpd_t to use packet sockets
37allow dhcpd_t self:packet_socket create_socket_perms;
38allow dhcpd_t self:rawip_socket create_socket_perms;
39
0bfccda4 40can_exec(dhcpd_t, dhcpd_exec_t)
7c8fc35b 41
0bfccda4
CP
42manage_files_pattern(dhcpd_t, dhcpd_state_t, dhcpd_state_t)
43sysnet_dhcp_state_filetrans(dhcpd_t, dhcpd_state_t, file)
7c8fc35b 44
0bfccda4
CP
45manage_dirs_pattern(dhcpd_t, dhcpd_tmp_t, dhcpd_tmp_t)
46manage_files_pattern(dhcpd_t, dhcpd_tmp_t, dhcpd_tmp_t)
103fe280 47files_tmp_filetrans(dhcpd_t, dhcpd_tmp_t, { file dir })
7c8fc35b 48
0bfccda4
CP
49manage_files_pattern(dhcpd_t, dhcpd_var_run_t, dhcpd_var_run_t)
50files_pid_filetrans(dhcpd_t, dhcpd_var_run_t, file)
7c8fc35b
CP
51
52kernel_read_system_state(dhcpd_t)
445522dc 53kernel_read_kernel_sysctls(dhcpd_t)
7c8fc35b 54
19006686
CP
55corenet_all_recvfrom_unlabeled(dhcpd_t)
56corenet_all_recvfrom_netlabel(dhcpd_t)
7c8fc35b
CP
57corenet_tcp_sendrecv_all_if(dhcpd_t)
58corenet_udp_sendrecv_all_if(dhcpd_t)
59corenet_raw_sendrecv_all_if(dhcpd_t)
60corenet_tcp_sendrecv_all_nodes(dhcpd_t)
61corenet_udp_sendrecv_all_nodes(dhcpd_t)
62corenet_raw_sendrecv_all_nodes(dhcpd_t)
63corenet_tcp_sendrecv_all_ports(dhcpd_t)
64corenet_udp_sendrecv_all_ports(dhcpd_t)
65corenet_tcp_bind_all_nodes(dhcpd_t)
66corenet_udp_bind_all_nodes(dhcpd_t)
77f6e2cd 67corenet_tcp_bind_dhcpd_port(dhcpd_t)
7c8fc35b
CP
68corenet_udp_bind_dhcpd_port(dhcpd_t)
69corenet_udp_bind_pxe_port(dhcpd_t)
a0824843 70corenet_tcp_connect_all_ports(dhcpd_t)
141cffdd
CP
71corenet_sendrecv_dhcpd_server_packets(dhcpd_t)
72corenet_sendrecv_pxe_server_packets(dhcpd_t)
73corenet_sendrecv_all_client_packets(dhcpd_t)
7c8fc35b
CP
74
75dev_read_sysfs(dhcpd_t)
76dev_read_rand(dhcpd_t)
77dev_read_urand(dhcpd_t)
78
79fs_getattr_all_fs(dhcpd_t)
80fs_search_auto_mountpoints(dhcpd_t)
81
7c8fc35b 82corecmd_exec_bin(dhcpd_t)
7c8fc35b 83
15722ec9 84domain_use_interactive_fds(dhcpd_t)
7c8fc35b
CP
85
86files_read_etc_files(dhcpd_t)
87files_read_usr_files(dhcpd_t)
88files_read_etc_runtime_files(dhcpd_t)
89files_search_var_lib(dhcpd_t)
90
7c8fc35b
CP
91libs_use_ld_so(dhcpd_t)
92libs_use_shared_libs(dhcpd_t)
93
94logging_send_syslog_msg(dhcpd_t)
95
96miscfiles_read_localization(dhcpd_t)
97
98sysnet_read_config(dhcpd_t)
99sysnet_read_dhcp_config(dhcpd_t)
100
15722ec9 101userdom_dontaudit_use_unpriv_user_fds(dhcpd_t)
e9c6cda7
CP
102
103sysadm_dontaudit_search_home_dirs(dhcpd_t)
7c8fc35b
CP
104
105ifdef(`distro_gentoo',`
106 allow dhcpd_t self:capability { chown dac_override setgid setuid sys_chroot };
107')
108
bb7170f6 109optional_policy(`
7c8fc35b
CP
110 # used for dynamic DNS
111 bind_read_dnssec_keys(dhcpd_t)
112')
113
8708d9be 114optional_policy(`
0bfccda4 115 dbus_system_bus_client_template(dhcpd, dhcpd_t)
8708d9be 116 dbus_connect_system_bus(dhcpd_t)
8708d9be
CP
117')
118
bb7170f6 119optional_policy(`
7c8fc35b
CP
120 nis_use_ypbind(dhcpd_t)
121')
122
bb7170f6 123optional_policy(`
1815bad1 124 nscd_socket_use(dhcpd_t)
a0824843
CP
125')
126
bb7170f6 127optional_policy(`
7c8fc35b
CP
128 seutil_sigchld_newrole(dhcpd_t)
129')
130
bb7170f6 131optional_policy(`
7c8fc35b
CP
132 udev_read_db(dhcpd_t)
133')