selinux-policy/policy/modules/services/ifplugd.te
2009-06-26 14:40:13 +00:00

78 lines
2.0 KiB
Plaintext

policy_module(ifplugd, 1.0.0)
########################################
#
# Declarations
#
type ifplugd_t;
type ifplugd_exec_t;
init_daemon_domain(ifplugd_t, ifplugd_exec_t)
# config files
type ifplugd_etc_t;
files_type(ifplugd_etc_t)
type ifplugd_initrc_exec_t;
init_script_file(ifplugd_initrc_exec_t)
# pid files
type ifplugd_var_run_t;
files_pid_file(ifplugd_var_run_t)
########################################
#
# ifplugd local policy
#
allow ifplugd_t self:capability { net_admin sys_nice net_bind_service };
dontaudit ifplugd_t self:capability { sys_tty_config sys_ptrace };
allow ifplugd_t self:process { signal signull };
allow ifplugd_t self:fifo_file rw_fifo_file_perms;
allow ifplugd_t self:tcp_socket create_stream_socket_perms;
allow ifplugd_t self:udp_socket create_socket_perms;
allow ifplugd_t self:packet_socket create_socket_perms;
allow ifplugd_t self:netlink_route_socket create_netlink_socket_perms;
# pid file
manage_files_pattern(ifplugd_t, ifplugd_var_run_t, ifplugd_var_run_t)
manage_sock_files_pattern(ifplugd_t, ifplugd_var_run_t, ifplugd_var_run_t)
files_pid_filetrans(ifplugd_t, ifplugd_var_run_t, { file sock_file })
# config files
read_files_pattern(ifplugd_t, ifplugd_etc_t, ifplugd_etc_t)
exec_files_pattern(ifplugd_t, ifplugd_etc_t, ifplugd_etc_t)
kernel_read_system_state(ifplugd_t)
kernel_read_network_state(ifplugd_t)
kernel_rw_net_sysctls(ifplugd_t)
kernel_read_kernel_sysctls(ifplugd_t)
corecmd_exec_shell(ifplugd_t)
corecmd_exec_bin(ifplugd_t)
# reading of hardware information
dev_read_sysfs(ifplugd_t)
domain_read_confined_domains_state(ifplugd_t)
domain_dontaudit_read_all_domains_state(ifplugd_t)
auth_use_nsswitch(ifplugd_t)
logging_send_syslog_msg(ifplugd_t)
miscfiles_read_localization(ifplugd_t)
netutils_domtrans(ifplugd_t)
# transition to ifconfig & dhcpc
sysnet_domtrans_ifconfig(ifplugd_t)
sysnet_domtrans_dhcpc(ifplugd_t)
sysnet_delete_dhcpc_pid(ifplugd_t)
sysnet_read_dhcpc_pid(ifplugd_t)
sysnet_signal_dhcpc(ifplugd_t)
optional_policy(`
consoletype_exec(ifplugd_t)
')