Chris PeBenito bbc40b5
policy_module(userhelper, 1.7.0)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# Declarations
1ec3d1a
#
1ec3d1a
1ec3d1a
attribute userhelper_type;
1ec3d1a
attribute consolehelper_domain;
1ec3d1a
1ec3d1a
type userhelper_conf_t;
1ec3d1a
files_type(userhelper_conf_t)
1ec3d1a
1ec3d1a
type userhelper_exec_t;
1ec3d1a
application_executable_file(userhelper_exec_t)
1ec3d1a
1ec3d1a
type consolehelper_exec_t;
1ec3d1a
application_executable_file(consolehelper_exec_t)
1ec3d1a
1ec3d1a
########################################
1ec3d1a
#
1ec3d1a
# consolehelper local policy
1ec3d1a
#
1ec3d1a
1ec3d1a
allow consolehelper_domain self:shm create_shm_perms;
09ff066
allow consolehelper_domain self:capability { setgid setuid dac_override }; 
09ff066
allow consolehelper_domain self:process signal;
1ec3d1a
1ec3d1a
allow consolehelper_domain  userhelper_conf_t:file audit_access;
1ec3d1a
dontaudit consolehelper_domain  userhelper_conf_t:file write;
1ec3d1a
read_files_pattern(consolehelper_domain, userhelper_conf_t, userhelper_conf_t)
1ec3d1a
1ec3d1a
# Init script handling
1ec3d1a
domain_use_interactive_fds(consolehelper_domain)
1ec3d1a
1ec3d1a
# internal communication is often done using fifo and unix sockets.
1ec3d1a
allow consolehelper_domain self:fifo_file rw_fifo_file_perms;
1ec3d1a
allow consolehelper_domain self:unix_stream_socket create_stream_socket_perms;
1ec3d1a
1ec3d1a
kernel_read_kernel_sysctls(consolehelper_domain)
1ec3d1a
1ec3d1a
corecmd_exec_bin(consolehelper_domain)
1ec3d1a
1ec3d1a
dev_getattr_all_chr_files(consolehelper_domain)
1ec3d1a
dev_dontaudit_list_all_dev_nodes(consolehelper_domain)
1ec3d1a
dev_dontaudit_getattr_all(consolehelper_domain)
ee3c4c4
fs_getattr_all_fs(consolehelper_domain)
1ec3d1a
fs_getattr_all_dirs(consolehelper_domain)
1ec3d1a
1ec3d1a
files_read_config_files(consolehelper_domain)
1ec3d1a
1ec3d1a
term_list_ptys(consolehelper_domain)
1ec3d1a
1ec3d1a
auth_search_pam_console_data(consolehelper_domain)
1ec3d1a
auth_read_pam_pid(consolehelper_domain)
1ec3d1a
1ec3d1a
init_read_utmp(consolehelper_domain)
1ec3d1a
init_telinit(consolehelper_domain)
1ec3d1a
1ec3d1a
miscfiles_read_fonts(consolehelper_domain)
1ec3d1a
1ec3d1a
userhelper_exec(consolehelper_domain)
1ec3d1a
1ec3d1a
userdom_use_user_ptys(consolehelper_domain)
1ec3d1a
userdom_use_user_ttys(consolehelper_domain)
1ec3d1a
userdom_read_user_home_content_files(consolehelper_domain)
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	gnome_read_gconf_home_files(consolehelper_domain)
1ec3d1a
')
1ec3d1a
1ec3d1a
optional_policy(`
1ec3d1a
	xserver_read_home_fonts(consolehelper_domain)
1ec3d1a
	xserver_stream_connect(consolehelper_domain)
1ec3d1a
')
1ec3d1a
1ec3d1a
tunable_policy(`use_nfs_home_dirs',`
1ec3d1a
	files_search_mnt(consolehelper_domain)
1ec3d1a
	fs_search_nfs(consolehelper_domain)
1ec3d1a
')
1ec3d1a
1ec3d1a
tunable_policy(`use_samba_home_dirs',`
1ec3d1a
	files_search_mnt(consolehelper_domain)
1ec3d1a
	fs_search_cifs(consolehelper_domain)
1ec3d1a
')