Chris PeBenito 4b76ea
policy_module(userdomain, 4.4.3)
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
# Declarations
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## Allow users to connect to mysql
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 3f67f7
gen_tunable(allow_user_mysql_connect, false)
Chris PeBenito 56e1b3
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Chris PeBenito cb10a2
## Allow users to connect to PostgreSQL
Chris PeBenito cb10a2
## 

Chris PeBenito cb10a2
## </desc>
Chris PeBenito 3f67f7
gen_tunable(allow_user_postgresql_connect, false)
Chris PeBenito cb10a2
Chris PeBenito cb10a2
## <desc>
Chris PeBenito cb10a2
## 

Chris PeBenito 56e1b3
## Allow regular users direct mouse access
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 3f67f7
gen_tunable(user_direct_mouse, false)
Chris PeBenito 56e1b3
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## Allow users to read system messages.
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 3f67f7
gen_tunable(user_dmesg, false)
Chris PeBenito 56e1b3
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## Allow user to r/w files on filesystems
Chris PeBenito 56e1b3
## that do not have extended attributes (FAT, CDROM, FLOPPY)
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 3f67f7
gen_tunable(user_rw_noexattrfile, false)
Chris PeBenito 56e1b3
Chris PeBenito 56e1b3
## <desc>
Chris PeBenito 56e1b3
## 

Dan Walsh 3eaa99
## Allow user processes to change their priority 
Dan Walsh 3eaa99
## 

Dan Walsh 3eaa99
## </desc>
Dan Walsh 3eaa99
gen_tunable(user_setrlimit, false)
Dan Walsh 3eaa99
Dan Walsh 3eaa99
## <desc>
Dan Walsh 3eaa99
## 

Chris PeBenito 56e1b3
## Allow w to display everyone
Chris PeBenito 56e1b3
## 

Chris PeBenito 56e1b3
## </desc>
Chris PeBenito 3f67f7
gen_tunable(user_ttyfile_stat, false)
Chris PeBenito 56e1b3
Chris PeBenito 0be901
attribute admindomain;
Chris PeBenito bd7570
Chris PeBenito 17de1b
# all user domains
Chris PeBenito 17de1b
attribute userdomain;
Chris PeBenito 17de1b
Chris PeBenito 17de1b
# unprivileged user domains
Chris PeBenito 17de1b
attribute unpriv_userdomain;
Chris PeBenito 17de1b
Chris PeBenito 17de1b
attribute untrusted_content_type;
Chris PeBenito 17de1b
attribute untrusted_content_tmp_type;
Chris PeBenito 296273
Dan Walsh 3eaa99
# unprivileged user domains
Dan Walsh 3eaa99
attribute user_home_type;
Dan Walsh 3eaa99
Dan Walsh 3eaa99
type admin_home_t;
Dan Walsh 3eaa99
files_type(admin_home_t)
Dan Walsh 3eaa99
files_associate_tmp(admin_home_t)
Dan Walsh 3eaa99
fs_associate_tmpfs(admin_home_t)
Dan Walsh 3eaa99
files_mountpoint(admin_home_t)
Dan Walsh 3eaa99
Chris PeBenito 296273
type user_home_dir_t alias { staff_home_dir_t sysadm_home_dir_t secadm_home_dir_t auditadm_home_dir_t unconfined_home_dir_t };
Chris PeBenito 296273
fs_associate_tmpfs(user_home_dir_t)
Chris PeBenito 296273
files_type(user_home_dir_t)
Chris PeBenito 296273
files_mountpoint(user_home_dir_t)
Chris PeBenito 296273
files_associate_tmp(user_home_dir_t)
Chris PeBenito 296273
files_poly(user_home_dir_t)
Chris PeBenito 296273
files_poly_member(user_home_dir_t)
Chris PeBenito 296273
files_poly_parent(user_home_dir_t)
Chris PeBenito 296273
ubac_constrained(user_home_dir_t)
Chris PeBenito 296273
Chris PeBenito 296273
type user_home_t alias { staff_home_t sysadm_home_t secadm_home_t auditadm_home_t unconfined_home_t };
Chris PeBenito 296273
typealias user_home_t alias { staff_untrusted_content_t sysadm_untrusted_content_t secadm_untrusted_content_t auditadm_untrusted_content_t unconfined_untrusted_content_t };
Dan Walsh 3eaa99
typeattribute user_home_t user_home_type;
Chris PeBenito 296273
userdom_user_home_content(user_home_t)
Chris PeBenito 296273
fs_associate_tmpfs(user_home_t)
Chris PeBenito 296273
files_associate_tmp(user_home_t)
Dan Walsh 3eaa99
files_poly_member(user_home_t)
Chris PeBenito 296273
files_poly_parent(user_home_t)
Chris PeBenito 296273
files_mountpoint(user_home_t)
Dan Walsh 3eaa99
ubac_constrained(user_home_t)
Chris PeBenito 296273
Chris PeBenito 296273
type user_devpts_t alias { staff_devpts_t sysadm_devpts_t secadm_devpts_t auditadm_devpts_t unconfined_devpts_t };
Chris PeBenito 296273
dev_node(user_devpts_t)
Chris PeBenito 296273
files_type(user_devpts_t)
Chris PeBenito 296273
ubac_constrained(user_devpts_t)
Chris PeBenito 296273
Dan Walsh 3eaa99
type user_tmp_t alias { winbind_tmp_t sshd_tmp_t staff_tmp_t sysadm_tmp_t secadm_tmp_t auditadm_tmp_t unconfined_tmp_t };
Chris PeBenito 296273
typealias user_tmp_t alias { staff_untrusted_content_tmp_t sysadm_untrusted_content_tmp_t secadm_untrusted_content_tmp_t auditadm_untrusted_content_tmp_t unconfined_untrusted_content_tmp_t };
Chris PeBenito 296273
files_tmp_file(user_tmp_t)
Chris PeBenito 296273
userdom_user_home_content(user_tmp_t)
Chris PeBenito 296273
Chris PeBenito 296273
type user_tmpfs_t alias { staff_tmpfs_t sysadm_tmpfs_t secadm_tmpfs_t auditadm_tmpfs_t unconfined_tmpfs_t };
Chris PeBenito 296273
files_tmpfs_file(user_tmpfs_t)
Chris PeBenito 296273
userdom_user_home_content(user_tmpfs_t)
Chris PeBenito 296273
Chris PeBenito 296273
type user_tty_device_t alias { staff_tty_device_t sysadm_tty_device_t secadm_tty_device_t auditadm_tty_device_t unconfined_tty_device_t };
Chris PeBenito 296273
dev_node(user_tty_device_t)
Chris PeBenito 296273
ubac_constrained(user_tty_device_t)
Dan Walsh 3eaa99
Dan Walsh 3eaa99
type audio_home_t;
Dan Walsh 3eaa99
userdom_user_home_content(audio_home_t)
Dan Walsh 3eaa99
ubac_constrained(audio_home_t)
Dan Walsh 3eaa99
Dan Walsh 3eaa99
type home_bin_t;
Dan Walsh 3eaa99
userdom_user_home_content(home_bin_t)
Dan Walsh 3eaa99
ubac_constrained(home_bin_t)
Dan Walsh 3eaa99
Dan Walsh 3eaa99
type home_cert_t;
Dan Walsh 3eaa99
miscfiles_cert_type(home_cert_t)
Dan Walsh 3eaa99
userdom_user_home_content(home_cert_t)
Dan Walsh 3eaa99
ubac_constrained(home_cert_t)
Dan Walsh 3eaa99
Dan Walsh 3eaa99
tunable_policy(`allow_console_login',`
Dan Walsh 3eaa99
	term_use_console(userdomain)
Dan Walsh 3eaa99
')
Dan Walsh 3eaa99
Dan Walsh 3eaa99
allow userdomain userdomain:process signull;
Dan Walsh 3eaa99
Dan Walsh 3eaa99
# Nautilus causes this avc
Dan Walsh 3eaa99
dontaudit unpriv_userdomain self:dir setattr;