Chris PeBenito 17de1b
Chris PeBenito 56e1b3
policy_module(usernetctl,1.0.1)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
# Declarations
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
Chris PeBenito 56e1b3
ifdef(`strict_policy',`
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## Allow users to control network interfaces
Chris PeBenito 56e1b3
## (also needs USERCTL=true)
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 56e1b3
gen_tunable(user_net_control,false)
Chris PeBenito 56e1b3
')
Chris PeBenito 56e1b3
Chris PeBenito 17de1b
type usernetctl_t;
Chris PeBenito 17de1b
type usernetctl_exec_t;
Chris PeBenito 17de1b
domain_type(usernetctl_t)
Chris PeBenito 17de1b
domain_entry_file(usernetctl_t,usernetctl_exec_t)
Chris PeBenito 17de1b
domain_interactive_fd(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
# Local policy
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
Chris PeBenito 17de1b
allow usernetctl_t self:capability { setuid setgid dac_override };
Chris PeBenito 17de1b
allow usernetctl_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
Chris PeBenito 17de1b
allow usernetctl_t self:fd use;
Chris PeBenito c0868a
allow usernetctl_t self:fifo_file rw_fifo_file_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:shm create_shm_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:sem create_sem_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:msgq create_msgq_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:msg { send receive };
Chris PeBenito 17de1b
allow usernetctl_t self:unix_dgram_socket create_socket_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:unix_stream_socket create_stream_socket_perms;
Chris PeBenito 17de1b
allow usernetctl_t self:unix_dgram_socket sendto;
Chris PeBenito 17de1b
allow usernetctl_t self:unix_stream_socket connectto;
Chris PeBenito 17de1b
Chris PeBenito 17de1b
can_exec(usernetctl_t,usernetctl_exec_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
kernel_read_system_state(usernetctl_t)
Chris PeBenito 17de1b
kernel_read_kernel_sysctls(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
corecmd_list_bin(usernetctl_t)
Chris PeBenito 17de1b
corecmd_exec_bin(usernetctl_t)
Chris PeBenito 17de1b
corecmd_exec_shell(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
domain_dontaudit_read_all_domains_state(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
files_read_etc_files(usernetctl_t)
Chris PeBenito 17de1b
files_exec_etc_files(usernetctl_t)
Chris PeBenito 17de1b
files_read_etc_runtime_files(usernetctl_t)
Chris PeBenito 17de1b
files_list_pids(usernetctl_t)
Chris PeBenito 17de1b
files_list_home(usernetctl_t)
Chris PeBenito 17de1b
files_read_usr_files(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
fs_search_auto_mountpoints(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
libs_use_ld_so(usernetctl_t)
Chris PeBenito 17de1b
libs_use_shared_libs(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
miscfiles_read_localization(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
seutil_read_config(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
sysnet_read_config(usernetctl_t)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
optional_policy(`
Chris PeBenito 17de1b
	hostname_exec(usernetctl_t)
Chris PeBenito 17de1b
')
Chris PeBenito 17de1b
Chris PeBenito 17de1b
optional_policy(`
Chris PeBenito 17de1b
	nis_use_ypbind(usernetctl_t)
Chris PeBenito 17de1b
')