Chris PeBenito 9401ae1
## <summary>Likewise Active Directory support for UNIX.</summary>
Chris PeBenito 9401ae1
## <desc>
Chris PeBenito 9401ae1
##	

Chris PeBenito 9401ae1
##	Likewise Open is a free, open source application that joins Linux, Unix,
Chris PeBenito 9401ae1
##	and Mac machines to Microsoft Active Directory to securely authenticate
Chris PeBenito 9401ae1
##	users with their domain credentials.
Chris PeBenito 9401ae1
##	

Chris PeBenito 9401ae1
## </desc>
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
#######################################
Chris PeBenito 9401ae1
## <summary>
Chris PeBenito 9401ae1
##	The template to define a likewise domain.
Chris PeBenito 9401ae1
## </summary>
Chris PeBenito 9401ae1
## <desc>
Chris PeBenito 9401ae1
##	

Chris PeBenito 9401ae1
##	This template creates a domain to be used for
Chris PeBenito 9401ae1
##	a new likewise daemon.
Chris PeBenito 9401ae1
##	

Chris PeBenito 9401ae1
## </desc>
Chris PeBenito 9401ae1
## <param name="userdomain_prefix">
Chris PeBenito 9401ae1
##	<summary>
Chris PeBenito 9401ae1
##	The type of daemon to be used.
Chris PeBenito 9401ae1
##	</summary>
Chris PeBenito 9401ae1
## </param>
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
template(`likewise_domain_template',`
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	gen_require(`
Chris PeBenito 9401ae1
		attribute likewise_domains;
Chris PeBenito 9401ae1
		type likewise_var_lib_t;
Chris PeBenito 9401ae1
	')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	########################################
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
	# Declarations
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	type $1_t;
Chris PeBenito 9401ae1
	type $1_exec_t;
Chris PeBenito 9401ae1
	init_daemon_domain($1_t, $1_exec_t)
Chris PeBenito 9401ae1
	domain_use_interactive_fds($1_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	typeattribute $1_t likewise_domains;
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	type $1_var_run_t;
Chris PeBenito 9401ae1
	files_pid_file($1_var_run_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	type $1_var_socket_t;
Chris PeBenito 9401ae1
	files_type($1_var_socket_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	type $1_var_lib_t;
Chris PeBenito 9401ae1
	files_type($1_var_lib_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	####################################
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
	# Local Policy
Chris PeBenito 9401ae1
	#
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	allow $1_t self:process { signal_perms getsched setsched };
Chris PeBenito 9401ae1
	allow $1_t self:fifo_file rw_fifo_file_perms;
Chris PeBenito 9401ae1
	allow $1_t self:unix_dgram_socket create_socket_perms;
Chris PeBenito 9401ae1
	allow $1_t self:unix_stream_socket create_stream_socket_perms;
Chris PeBenito 9401ae1
	allow $1_t self:tcp_socket create_stream_socket_perms;
Chris PeBenito 9401ae1
	allow $1_t self:udp_socket create_socket_perms;
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	allow $1_t likewise_var_lib_t:dir setattr;
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	manage_files_pattern($1_t, $1_var_run_t, $1_var_run_t)
Chris PeBenito 9401ae1
	files_pid_filetrans($1_t, $1_var_run_t, file)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	manage_files_pattern($1_t, likewise_var_lib_t, $1_var_lib_t)
Chris PeBenito 9401ae1
	filetrans_pattern($1_t, likewise_var_lib_t, $1_var_lib_t, file)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	manage_sock_files_pattern($1_t, likewise_var_lib_t, $1_var_socket_t)
Chris PeBenito 9401ae1
	filetrans_pattern($1_t, likewise_var_lib_t, $1_var_socket_t, sock_file)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	dev_read_rand($1_t)
Chris PeBenito 9401ae1
	dev_read_urand($1_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	files_read_etc_files($1_t)
Chris PeBenito 9401ae1
	files_search_var_lib($1_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	logging_send_syslog_msg($1_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	miscfiles_read_localization($1_t)
Chris PeBenito 9401ae1
')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
########################################
Chris PeBenito 9401ae1
## <summary>
Chris PeBenito 9401ae1
##	Connect to lsassd.
Chris PeBenito 9401ae1
## </summary>
Chris PeBenito 9401ae1
## <param name="domain">
Chris PeBenito 9401ae1
##	<summary>
Chris PeBenito 9401ae1
##	Domain allowed access.
Chris PeBenito 9401ae1
##	</summary>
Chris PeBenito 9401ae1
## </param>
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
interface(`likewise_stream_connect_lsassd',`
Chris PeBenito 9401ae1
	gen_require(`
Chris PeBenito 9401ae1
		type likewise_var_lib_t, lsassd_var_socket_t, lsassd_t;
Chris PeBenito 9401ae1
	')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
	files_search_pids($1)
Chris PeBenito 9401ae1
	stream_connect_pattern($1, likewise_var_lib_t, lsassd_var_socket_t, lsassd_t)
Chris PeBenito 9401ae1
')