selinux-policy/policy-rawhide-base-user_tmp.patch
2014-04-08 08:49:42 +02:00

886 lines
30 KiB
Diff

diff --git a/policy/modules/admin/bootloader.te b/policy/modules/admin/bootloader.te
index 32514ee..91a6a37 100644
--- a/policy/modules/admin/bootloader.te
+++ b/policy/modules/admin/bootloader.te
@@ -154,7 +154,7 @@ modutils_domtrans_insmod(bootloader_t)
seutil_read_bin_policy(bootloader_t)
seutil_read_loadpolicy(bootloader_t)
-userdom_getattr_user_tmpfs_files(bootloader_t)
+userdom_getattr_user_tmp_files(bootloader_t)
userdom_use_inherited_user_terminals(bootloader_t)
userdom_dontaudit_search_user_home_dirs(bootloader_t)
diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if
index 337a00e..87c6145 100644
--- a/policy/modules/kernel/files.if
+++ b/policy/modules/kernel/files.if
@@ -5199,6 +5199,7 @@ interface(`files_search_tmp',`
type tmp_t;
')
+ fs_search_tmpfs($1)
read_lnk_files_pattern($1, tmp_t, tmp_t)
allow $1 tmp_t:dir search_dir_perms;
')
diff --git a/policy/modules/roles/unconfineduser.te b/policy/modules/roles/unconfineduser.te
index a3fe7f6..13a745c 100644
--- a/policy/modules/roles/unconfineduser.te
+++ b/policy/modules/roles/unconfineduser.te
@@ -33,7 +33,6 @@ gen_tunable(unconfined_login, true)
userdom_base_user_template(unconfined)
userdom_manage_home_role(unconfined_r, unconfined_t)
userdom_manage_tmp_role(unconfined_r, unconfined_t)
-userdom_manage_tmpfs_role(unconfined_r, unconfined_t)
userdom_unpriv_type(unconfined_t)
type unconfined_exec_t;
diff --git a/policy/modules/services/ssh.if b/policy/modules/services/ssh.if
index e8dcfa7..eb9cefe 100644
--- a/policy/modules/services/ssh.if
+++ b/policy/modules/services/ssh.if
@@ -219,8 +219,9 @@ template(`ssh_server_template',`
allow $1_t $1_devpts_t:chr_file { rw_chr_file_perms setattr_chr_file_perms getattr_chr_file_perms relabelfrom };
term_create_pty($1_t, $1_devpts_t)
- manage_files_pattern($1_t, $1_tmpfs_t, $1_tmpfs_t)
- fs_tmpfs_filetrans($1_t, $1_tmpfs_t, file)
+ #manage_files_pattern($1_t, $1_tmpfs_t, $1_tmpfs_t)
+ #fs_tmpfs_filetrans($1_t, $1_tmpfs_t, file)
+ userdom_manage_tmp_role(system_r, sshd_t)
allow $1_t $1_var_run_t:file manage_file_perms;
files_pid_filetrans($1_t, $1_var_run_t, file)
diff --git a/policy/modules/services/ssh.te b/policy/modules/services/ssh.te
index a8b01bf..fc87b9e 100644
--- a/policy/modules/services/ssh.te
+++ b/policy/modules/services/ssh.te
@@ -89,7 +89,7 @@ userdom_user_application_domain(ssh_keysign_t, ssh_keysign_exec_t)
type ssh_tmpfs_t;
typealias ssh_tmpfs_t alias { user_ssh_tmpfs_t staff_ssh_tmpfs_t sysadm_ssh_tmpfs_t };
typealias ssh_tmpfs_t alias { auditadm_ssh_tmpfs_t secadm_ssh_tmpfs_t };
-userdom_user_tmpfs_file(ssh_tmpfs_t)
+userdom_user_tmp_file(ssh_tmpfs_t)
type ssh_home_t;
typealias ssh_home_t alias { home_ssh_t user_ssh_home_t user_home_ssh_t staff_home_ssh_t sysadm_home_ssh_t };
@@ -127,7 +127,7 @@ manage_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t)
manage_lnk_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t)
manage_fifo_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t)
manage_sock_files_pattern(ssh_t, ssh_tmpfs_t, ssh_tmpfs_t)
-fs_tmpfs_filetrans(ssh_t, ssh_tmpfs_t, { dir file lnk_file sock_file fifo_file })
+#fs_tmpfs_filetrans(ssh_t, ssh_tmpfs_t, { dir file lnk_file sock_file fifo_file })
manage_dirs_pattern(ssh_t, ssh_home_t, ssh_home_t)
manage_sock_files_pattern(ssh_t, ssh_home_t, ssh_home_t)
@@ -292,7 +292,7 @@ auth_exec_login_program(sshd_t)
userdom_read_user_home_content_files(sshd_t)
userdom_read_user_home_content_symlinks(sshd_t)
-userdom_manage_tmp_role(system_r, sshd_t)
+#userdom_manage_tmp_role(system_r, sshd_t)
userdom_spec_domtrans_unpriv_users(sshd_t)
userdom_signal_unpriv_users(sshd_t)
userdom_dyntransition_unpriv_users(sshd_t)
diff --git a/policy/modules/services/xserver.fc b/policy/modules/services/xserver.fc
index 4dda124..4eee56a 100644
--- a/policy/modules/services/xserver.fc
+++ b/policy/modules/services/xserver.fc
@@ -76,10 +76,7 @@ HOME_DIR/\.dmrc.* -- gen_context(system_u:object_r:xdm_home_t,s0)
# /tmp
#
-/tmp/\.X0-lock -- gen_context(system_u:object_r:xdm_tmp_t,s0)
-/tmp/\.X11-unix(/.*)? gen_context(system_u:object_r:xdm_tmp_t,s0)
-/tmp/\.ICE-unix(/.*)? gen_context(system_u:object_r:xdm_tmp_t,s0)
-/tmp/\.font-unix(/.*)? gen_context(system_u:object_r:user_fonts_t,s0)
+/tmp/\.font-unix(/.*)? gen_context(system_u:object_r:user_fonts_t,s0)
#
# /usr
diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if
index bf98136..2469c27 100644
--- a/policy/modules/services/xserver.if
+++ b/policy/modules/services/xserver.if
@@ -220,7 +220,7 @@ interface(`xserver_non_drawing_client',`
interface(`xserver_user_client',`
refpolicywarn(`$0() has been deprecated, please use xserver_user_x_domain_template instead.')
gen_require(`
- type xdm_t, xdm_tmp_t;
+ type xdm_t;
type xauth_home_t, iceauth_home_t, xserver_t, xserver_tmpfs_t;
')
@@ -235,8 +235,8 @@ interface(`xserver_user_client',`
# for when /tmp/.X11-unix is created by the system
allow $1 xdm_t:fd use;
allow $1 xdm_t:fifo_file rw_inherited_fifo_file_perms;
- allow $1 xdm_tmp_t:dir search_dir_perms;
- allow $1 xdm_tmp_t:sock_file { read write };
+ userdom_search_user_tmp_dirs($1)
+ userdom_rw_user_tmp_sock_files($1)
dontaudit $1 xdm_t:tcp_socket { read write };
# Allow connections to X server.
@@ -395,7 +395,7 @@ template(`xserver_object_types_template',`
#
template(`xserver_user_x_domain_template',`
gen_require(`
- type xdm_t, xdm_tmp_t, xserver_tmpfs_t;
+ type xdm_t, xserver_tmpfs_t;
type xdm_home_t;
type xauth_home_t, iceauth_home_t, xserver_t;
')
@@ -413,8 +413,8 @@ template(`xserver_user_x_domain_template',`
# for when /tmp/.X11-unix is created by the system
allow $2 xdm_t:fd use;
allow $2 xdm_t:fifo_file rw_inherited_fifo_file_perms;
- allow $2 xdm_tmp_t:dir search_dir_perms;
- allow $2 xdm_tmp_t:sock_file rw_inherited_sock_file_perms;
+ userdom_search_user_tmp_dirs($2)
+ userdom_rw_user_tmp_sock_files($2)
dontaudit $2 xdm_t:tcp_socket { read write };
# Allow connections to X server.
@@ -429,7 +429,7 @@ template(`xserver_user_x_domain_template',`
xserver_ro_session($2, $3)
xserver_use_user_fonts($2)
- xserver_read_xdm_tmp_files($2)
+ userdom_read_user_tmp_files($2)
xserver_read_xdm_pid($2)
xserver_xdm_append_log($2)
@@ -817,12 +817,13 @@ interface(`xserver_manage_xdm_spool_files',`
#
interface(`xserver_stream_connect_xdm',`
gen_require(`
- type xdm_t, xdm_tmp_t, xdm_var_run_t;
+ type xdm_t, xdm_var_run_t;
')
files_search_tmp($1)
files_search_pids($1)
- stream_connect_pattern($1, { xdm_tmp_t xdm_var_run_t }, { xdm_tmp_t xdm_var_run_t }, xdm_t)
+ stream_connect_pattern($1, { xdm_var_run_t }, { xdm_var_run_t }, xdm_t)
+ userdom_stream_connect($1)
')
########################################
@@ -934,12 +935,8 @@ interface(`xserver_read_xdm_rw_config',`
## </param>
#
interface(`xserver_search_xdm_tmp_dirs',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- files_search_tmp($1)
- allow $1 xdm_tmp_t:dir search_dir_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_search_user_tmp_dirs instead.')
+ userdom_search_user_tmp_dirs($1)
')
########################################
@@ -953,11 +950,8 @@ interface(`xserver_search_xdm_tmp_dirs',`
## </param>
#
interface(`xserver_setattr_xdm_tmp_dirs',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- allow $1 xdm_tmp_t:dir setattr_dir_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_dontaudit_setattr_user_tmp instead.')
+ userdom_dontaudit_setattr_user_tmp($1)
')
########################################
@@ -971,11 +965,8 @@ interface(`xserver_setattr_xdm_tmp_dirs',`
## </param>
#
interface(`xserver_dontaudit_xdm_tmp_dirs',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- dontaudit $1 xdm_tmp_t:dir setattr_dir_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_dontaudit_setattr_user_tmp instead.')
+ userdom_dontaudit_setattr_user_tmp($1)
')
########################################
@@ -990,13 +981,8 @@ interface(`xserver_dontaudit_xdm_tmp_dirs',`
## </param>
#
interface(`xserver_create_xdm_tmp_sockets',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- files_search_tmp($1)
- allow $1 xdm_tmp_t:dir list_dir_perms;
- create_sock_files_pattern($1, xdm_tmp_t, xdm_tmp_t)
+ refpolicywarn(`$0() has been deprecated, please use userdom_create_user_tmp_sockets instead.')
+ userdom_create_user_tmp_sockets($1)
')
########################################
@@ -1317,12 +1303,8 @@ interface(`xserver_manage_xdm_etc_files',`
## </param>
#
interface(`xserver_read_xdm_tmp_files',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- files_search_tmp($1)
- read_files_pattern($1, xdm_tmp_t, xdm_tmp_t)
+ refpolicywarn(`$0() has been deprecated, please use userdom_read_user_tmpfs_files instead.')
+ userdom_read_user_tmpfs_files($1)
')
########################################
@@ -1336,12 +1318,8 @@ interface(`xserver_read_xdm_tmp_files',`
## </param>
#
interface(`xserver_dontaudit_read_xdm_tmp_files',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- dontaudit $1 xdm_tmp_t:dir search_dir_perms;
- dontaudit $1 xdm_tmp_t:file read_file_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_dontaudit_read_user_tmp_files instead.')
+ userdom_dontaudit_read_user_tmp_files($1)
')
########################################
@@ -1355,12 +1333,8 @@ interface(`xserver_dontaudit_read_xdm_tmp_files',`
## </param>
#
interface(`xserver_rw_xdm_tmp_files',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- allow $1 xdm_tmp_t:dir search_dir_perms;
- allow $1 xdm_tmp_t:file rw_file_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_rw_user_tmpfs_files instead.')
+ userdom_rw_user_tmpfs_files($1)
')
########################################
@@ -1374,11 +1348,8 @@ interface(`xserver_rw_xdm_tmp_files',`
## </param>
#
interface(`xserver_manage_xdm_tmp_files',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- manage_files_pattern($1, xdm_tmp_t, xdm_tmp_t)
+ refpolicywarn(`$0() has been deprecated, please use userdom_manage_user_tmp_files instead.')
+ userdom_manage_user_tmp_files($1)
')
########################################
@@ -1392,11 +1363,8 @@ interface(`xserver_manage_xdm_tmp_files',`
## </param>
#
interface(`xserver_relabel_xdm_tmp_dirs',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- allow $1 xdm_tmp_t:dir relabel_dir_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_relabel_user_tmp_dirs instead.')
+ userdom_relabel_user_tmp_dirs($1)
')
########################################
@@ -1410,11 +1378,8 @@ interface(`xserver_relabel_xdm_tmp_dirs',`
## </param>
#
interface(`xserver_manage_xdm_tmp_dirs',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- manage_dirs_pattern($1, xdm_tmp_t, xdm_tmp_t)
+ refpolicywarn(`$0() has been deprecated, please use userdom_manage_user_tmp_dirs instead.')
+ userdom_manage_user_tmp_dirs($1)
')
########################################
@@ -1429,11 +1394,8 @@ interface(`xserver_manage_xdm_tmp_dirs',`
## </param>
#
interface(`xserver_dontaudit_getattr_xdm_tmp_sockets',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- dontaudit $1 xdm_tmp_t:sock_file getattr_sock_file_perms;
+ refpolicywarn(`$0() has been deprecated, please use usedom_dontaudit_user_getattr_tmp_sockets instead.')
+ usedom_dontaudit_user_getattr_tmp_sockets($1)
')
########################################
@@ -1946,11 +1908,8 @@ interface(`xserver_xdm_ioctl_log',`
## </param>
#
interface(`xserver_append_xdm_tmp_files',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- allow $1 xdm_tmp_t:file append_inherited_file_perms;
+ refpolicywarn(`$0() has been deprecated, please use userdom_append_user_tmp_files instead.')
+ userdom_append_user_tmp_files($1)
')
########################################
@@ -2296,12 +2255,8 @@ interface(`xserver_filetrans_admin_home_content',`
## </param>
#
interface(`xserver_xdm_tmp_filetrans',`
- gen_require(`
- type xdm_tmp_t;
- ')
-
- filetrans_pattern($1, xdm_tmp_t, $2, $3, $4)
- files_search_tmp($1)
+ refpolicywarn(`$0() has been deprecated, please use userdom_user_tmp_filetrans instead.')
+ userdom_user_tmp_filetrans($1,$2, $3, $4)
')
########################################
diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te
index f0e5cc0..e3f28af 100644
--- a/policy/modules/services/xserver.te
+++ b/policy/modules/services/xserver.te
@@ -231,12 +231,6 @@ files_type(xserver_var_lib_t)
type xserver_var_run_t;
files_pid_file(xserver_var_run_t)
-type xdm_tmp_t;
-files_tmp_file(xdm_tmp_t)
-typealias xdm_tmp_t alias { xserver_tmp_t user_xserver_tmp_t staff_xserver_tmp_t sysadm_xserver_tmp_t ice_tmp_t };
-typealias xdm_tmp_t alias { auditadm_xserver_tmp_t secadm_xserver_tmp_t xdm_xserver_tmp_t };
-userdom_user_tmp_file(xserver_tmp_t)
-
type xdm_tmpfs_t;
files_tmpfs_file(xdm_tmpfs_t)
@@ -264,7 +258,7 @@ files_config_file(xserver_etc_t)
type xserver_tmpfs_t;
typealias xserver_tmpfs_t alias { user_xserver_tmpfs_t staff_xserver_tmpfs_t sysadm_xserver_tmpfs_t xguest_xserver_tmpfs_t unconfined_xserver_tmpfs_t xdm_xserver_tmpfs_t };
typealias xserver_tmpfs_t alias { auditadm_xserver_tmpfs_t secadm_xserver_tmpfs_t };
-userdom_user_tmpfs_file(xserver_tmpfs_t)
+userdom_user_tmp_file(xserver_tmpfs_t)
type xsession_exec_t;
corecmd_executable_file(xsession_exec_t)
@@ -470,14 +464,8 @@ read_files_pattern(xdm_t, xdm_etc_t, xdm_etc_t)
# this is ugly, daemons should not create files under /etc!
manage_files_pattern(xdm_t, xdm_rw_etc_t, xdm_rw_etc_t)
-manage_dirs_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-manage_files_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-manage_lnk_files_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-manage_sock_files_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-files_tmp_filetrans(xdm_t, xdm_tmp_t, { file dir sock_file lnk_file })
-relabelfrom_dirs_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-relabelfrom_files_pattern(xdm_t, xdm_tmp_t, xdm_tmp_t)
-can_exec(xdm_t, xdm_tmp_t)
+userdom_manage_all_user_tmp_content(xdm_t)
+userdom_exec_user_tmp_files(xdm_t)
manage_dirs_pattern(xdm_t, xdm_tmpfs_t, xdm_tmpfs_t)
manage_files_pattern(xdm_t, xdm_tmpfs_t, xdm_tmpfs_t)
@@ -697,7 +685,7 @@ userdom_stream_connect(xdm_t)
userdom_manage_user_tmp_dirs(xdm_t)
userdom_manage_user_tmp_files(xdm_t)
userdom_manage_user_tmp_sockets(xdm_t)
-userdom_manage_tmpfs_role(system_r, xdm_t)
+userdom_manage_tmp_role(system_r, xdm_t)
#userdom_home_manager(xdm_t)
tunable_policy(`xdm_write_home',`
@@ -1349,9 +1337,8 @@ dontaudit xserver_t xdm_var_lib_t:dir search_dir_perms;
read_files_pattern(xserver_t, xdm_var_run_t, xdm_var_run_t)
# Label pid and temporary files with derived types.
-manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t)
-manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t)
-manage_sock_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t)
+userdom_manage_user_tmp_files(xserver_t)
+userdom_manage_user_tmp_sockets(xserver_t)
# Run xkbcomp.
allow xserver_t xkb_var_lib_t:lnk_file read_lnk_file_perms;
@@ -1591,7 +1578,6 @@ manage_files_pattern(x_userdomain, user_fonts_cache_t, user_fonts_cache_t)
stream_connect_pattern(x_userdomain, xserver_tmp_t, xserver_tmp_t, xserver_t)
allow x_userdomain xserver_tmp_t:sock_file delete_sock_file_perms;
-dontaudit x_userdomain xdm_tmp_t:sock_file setattr_sock_file_perms;
files_search_tmp(x_userdomain)
# Communicate via System V shared memory.
@@ -1618,10 +1604,9 @@ allow x_userdomain xauth_home_t:file read_file_perms;
# for when /tmp/.X11-unix is created by the system
allow x_userdomain xdm_t:fd use;
allow x_userdomain xdm_t:fifo_file rw_inherited_fifo_file_perms;
-allow x_userdomain xdm_tmp_t:dir search_dir_perms;
-allow x_userdomain xdm_tmp_t:sock_file rw_inherited_sock_file_perms;
+userdom_search_user_tmp_dirs(x_userdomain)
+userdom_rw_user_tmp_sock_files(x_userdomain)
dontaudit x_userdomain xdm_t:tcp_socket { read write };
-dontaudit x_userdomain xdm_tmp_t:dir setattr_dir_perms;
allow x_userdomain xdm_t:dbus send_msg;
allow xdm_t x_userdomain:dbus send_msg;
diff --git a/policy/modules/system/logging.te b/policy/modules/system/logging.te
index 1259fbd..5e66714 100644
--- a/policy/modules/system/logging.te
+++ b/policy/modules/system/logging.te
@@ -553,7 +553,7 @@ logging_manage_all_logs(syslogd_t)
userdom_dontaudit_use_unpriv_user_fds(syslogd_t)
userdom_search_user_home_dirs(syslogd_t)
-userdom_rw_inherited_user_tmpfs_files(syslogd_t)
+userdom_rw_inherited_user_tmp_files(syslogd_t)
ifdef(`distro_gentoo',`
# default gentoo syslog-ng config appends kernel
diff --git a/policy/modules/system/mount.te b/policy/modules/system/mount.te
index 00b82b3..9933cad 100644
--- a/policy/modules/system/mount.te
+++ b/policy/modules/system/mount.te
@@ -413,7 +413,7 @@ allow mount_ecryptfs_t self:unix_stream_socket create_stream_socket_perms;
manage_dirs_pattern(mount_ecryptfs_t, mount_ecryptfs_tmpfs_t, mount_ecryptfs_tmpfs_t)
manage_files_pattern(mount_ecryptfs_t, mount_ecryptfs_tmpfs_t, mount_ecryptfs_tmpfs_t)
fs_tmpfs_filetrans(mount_ecryptfs_t, mount_ecryptfs_tmpfs_t, { dir file })
-userdom_rw_user_tmpfs_files(mount_ecryptfs_t)
+userdom_rw_user_tmp_files(mount_ecryptfs_t)
domain_use_interactive_fds(mount_ecryptfs_t)
diff --git a/policy/modules/system/userdomain.fc b/policy/modules/system/userdomain.fc
index 4ca3a28..8f5380f 100644
--- a/policy/modules/system/userdomain.fc
+++ b/policy/modules/system/userdomain.fc
@@ -21,6 +21,12 @@ HOME_DIR/\.texlive2012(/.*)? gen_context(system_u:object_r:texlive_home_t,s0)
HOME_DIR/\.texlive2013(/.*)? gen_context(system_u:object_r:texlive_home_t,s0)
HOME_DIR/\.texlive2014(/.*)? gen_context(system_u:object_r:texlive_home_t,s0)
+/tmp/\.X0-lock -- gen_context(system_u:object_r:user_tmp_t,s0)
+/tmp/\.X11-unix(/.*)? gen_context(system_u:object_r:user_tmp_t,s0)
+/tmp/\.ICE-unix(/.*)? gen_context(system_u:object_r:user_tmp_t,s0)
+
+
+
/var/run/user(/.*)? gen_context(system_u:object_r:user_tmp_t,s0)
/tmp/hsperfdata_root gen_context(system_u:object_r:user_tmp_t,s0)
diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if
index 102478f..4f42aa5 100644
--- a/policy/modules/system/userdomain.if
+++ b/policy/modules/system/userdomain.if
@@ -420,6 +420,7 @@ interface(`userdom_manage_tmp_role',`
manage_sock_files_pattern($2, user_tmp_type, user_tmp_type)
manage_fifo_files_pattern($2, user_tmp_type, user_tmp_type)
files_tmp_filetrans($2, user_tmp_t, { dir file lnk_file sock_file fifo_file })
+ fs_tmpfs_filetrans($2, user_tmp_t, { dir file lnk_file sock_file fifo_file })
relabel_dirs_pattern($2, user_tmp_type, user_tmp_type)
relabel_files_pattern($2, user_tmp_type, user_tmp_type)
relabel_lnk_files_pattern($2, user_tmp_type, user_tmp_type)
@@ -427,8 +428,6 @@ interface(`userdom_manage_tmp_role',`
relabel_fifo_files_pattern($2, user_tmp_type, user_tmp_type)
')
-
-
#######################################
## <summary>
## Dontaudit search of user bin dirs.
@@ -534,24 +533,8 @@ interface(`userdom_manage_tmpfs_files',`
## <rolecap/>
#
interface(`userdom_manage_tmpfs_role',`
- gen_require(`
- attribute user_tmpfs_type;
- type user_tmpfs_t;
- ')
-
- role $1 types user_tmpfs_t;
-
- manage_dirs_pattern($2, user_tmpfs_type, user_tmpfs_type)
- manage_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- manage_lnk_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- manage_sock_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- manage_fifo_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- fs_tmpfs_filetrans($2, user_tmpfs_t, { dir file lnk_file sock_file fifo_file })
- relabel_dirs_pattern($2, user_tmpfs_type, user_tmpfs_type)
- relabel_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- relabel_lnk_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- relabel_sock_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
- relabel_fifo_files_pattern($2, user_tmpfs_type, user_tmpfs_type)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_manage_tmp_role() instead.')
+ userdom_manage_tmp_role($1,$2)
')
#######################################
@@ -994,7 +977,6 @@ template(`userdom_login_user_template', `
userdom_manage_home_role($1_r, $1_t)
userdom_manage_tmp_role($1_r, $1_usertype)
- userdom_manage_tmpfs_role($1_r, $1_usertype)
ifelse(`$1',`unconfined',`',`
gen_tunable($1_exec_content, true)
@@ -1839,8 +1821,8 @@ interface(`userdom_user_tmp_file',`
## </param>
#
interface(`userdom_user_tmpfs_file',`
- files_tmpfs_file($1)
- ubac_constrained($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_user_tmp_file() instead.')
+ userdom_user_tmp_file($1)
')
########################################
@@ -1878,14 +1860,8 @@ interface(`userdom_user_tmp_content',`
## </param>
#
interface(`userdom_user_tmpfs_content',`
- gen_require(`
- attribute user_tmpfs_type;
- ')
-
- typeattribute $1 user_tmpfs_type;
-
- files_tmpfs_file($1)
- ubac_constrained($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_user_tmp_content() instead.')
+ userdom_user_tmp_content($1)
')
########################################
@@ -2400,6 +2376,43 @@ interface(`userdom_setattr_user_tmp_files',`
########################################
## <summary>
+## Create a user tmp sockets.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`userdom_create_user_tmp_sockets',`
+ gen_require(`
+ type user_tmp_t;
+ ')
+
+ files_search_tmp($1)
+ allow $1 user_tmp_t:dir list_dir_perms;
+ create_sock_files_pattern($1, user_tmp_t, user_tmp_t)
+')
+
+########################################
+## <summary>
+## Dontaudit getattr on user tmp sockets.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`usedom_dontaudit_user_getattr_tmp_sockets',`
+ gen_require(`
+ type user_tmp_t;
+ ')
+ dontaudit $1 user_tmp_t:sock_file getattr_sock_file_perms;
+')
+
+########################################
+## <summary>
## Relabel user tmp files.
## </summary>
## <param name="domain">
@@ -2416,6 +2429,26 @@ interface(`userdom_relabel_user_tmp_files',`
allow $1 user_tmp_t:file relabel_file_perms;
')
+
+########################################
+## <summary>
+## Relabel user tmp files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+## <rolecap/>
+#
+interface(`userdom_relabel_user_tmp_dirs',`
+ gen_require(`
+ type user_tmp_t;
+ ')
+
+ allow $1 user_tmp_t:dir relabel_dir_perms;
+')
+
########################################
## <summary>
## Do not audit attempts to set the
@@ -3068,6 +3101,25 @@ interface(`userdom_dontaudit_manage_user_tmp_dirs',`
## </summary>
## </param>
#
+interface(`userdom_getattr_user_tmp_files',`
+ gen_require(`
+ attribute user_tmp_type;
+ ')
+
+ getattr_files_pattern($1, user_tmp_type, user_tmp_type)
+ files_search_tmp($1)
+')
+
+########################################
+## <summary>
+## Read user temporary files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
interface(`userdom_read_user_tmp_files',`
gen_require(`
attribute user_tmp_type;
@@ -3080,6 +3132,23 @@ interface(`userdom_read_user_tmp_files',`
########################################
## <summary>
+## Read user temporary files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`userdom_append_user_tmp_files',`
+ gen_require(`
+ type user_tmp_t;
+ ')
+ allow $1 user_tmp_t:file append_inherited_file_perms;
+')
+
+########################################
+## <summary>
## Do not audit attempts to read users
## temporary files.
## </summary>
@@ -3135,6 +3204,25 @@ interface(`userdom_rw_user_tmp_files',`
rw_files_pattern($1, user_tmp_t, user_tmp_t)
files_search_tmp($1)
')
+########################################
+## <summary>
+## Read and write user temporary files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`userdom_rw_user_tmp_sock_files',`
+ gen_require(`
+ type user_tmp_t;
+ ')
+
+ allow $1 user_tmp_t:dir list_dir_perms;
+ allow $1 user_tmp_t:sock_file rw_inherited_sock_file_perms;
+ files_search_tmp($1)
+')
########################################
## <summary>
@@ -3372,12 +3460,8 @@ interface(`userdom_tmp_filetrans_user_tmp',`
## </param>
#
interface(`userdom_getattr_user_tmpfs_files',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- getattr_files_pattern($1, user_tmpfs_t, user_tmpfs_t)
- fs_search_tmpfs($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_getattr_user_tmp_files() instead.')
+ userdom_getattr_user_tmp_files($1)
')
########################################
@@ -3391,14 +3475,8 @@ interface(`userdom_getattr_user_tmpfs_files',`
## </param>
#
interface(`userdom_read_user_tmpfs_files',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- read_files_pattern($1, user_tmpfs_t, user_tmpfs_t)
- read_lnk_files_pattern($1, user_tmpfs_t, user_tmpfs_t)
- allow $1 user_tmpfs_t:dir list_dir_perms;
- fs_search_tmpfs($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_read_user_tmp_files() instead.')
+ userdom_read_user_tmp_files($1)
')
########################################
@@ -3412,14 +3490,8 @@ interface(`userdom_read_user_tmpfs_files',`
## </param>
#
interface(`userdom_rw_user_tmpfs_files',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- rw_files_pattern($1, user_tmpfs_t, user_tmpfs_t)
- read_lnk_files_pattern($1, user_tmpfs_t, user_tmpfs_t)
- allow $1 user_tmpfs_t:dir list_dir_perms;
- fs_search_tmpfs($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_rw_user_tmp_files() instead.')
+ userdom_rw_user_tmp_files($1)
')
########################################
@@ -3433,11 +3505,8 @@ interface(`userdom_rw_user_tmpfs_files',`
## </param>
#
interface(`userdom_rw_inherited_user_tmpfs_files',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- allow $1 user_tmpfs_t:file rw_inherited_file_perms;
+ refpolicywarn(`$0($*) has been deprecated, use userdom_rw_inherited_user_tmp_files instead.')
+ userdom_rw_inherited_user_tmp_files($1)
')
########################################
@@ -3451,11 +3520,26 @@ interface(`userdom_rw_inherited_user_tmpfs_files',`
## </param>
#
interface(`userdom_execute_user_tmpfs_files',`
+ refpolicywarn(`$0($*) has been deprecated, use userdom_execute_user_tmp_files instead.')
+ userdom_execute_user_tmp_files($1)
+')
+
+########################################
+## <summary>
+## Execute user tmpfs files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`userdom_execute_user_tmp_files',`
gen_require(`
- type user_tmpfs_t;
+ type user_tmp_t;
')
- allow $1 user_tmpfs_t:file execute;
+ allow $1 user_tmp_t:file execute;
')
########################################
@@ -5208,16 +5292,8 @@ interface(`userdom_list_all_user_tmp_content',`
## </param>
#
interface(`userdom_manage_all_user_tmpfs_content',`
- gen_require(`
- attribute user_tmpfs_type;
- ')
-
- manage_dirs_pattern($1, user_tmpfs_type, user_tmpfs_type)
- manage_files_pattern($1, user_tmpfs_type, user_tmpfs_type)
- manage_lnk_files_pattern($1, user_tmpfs_type, user_tmpfs_type)
- manage_sock_files_pattern($1, user_tmpfs_type, user_tmpfs_type)
- manage_fifo_files_pattern($1, user_tmpfs_type, user_tmpfs_type)
- fs_search_tmpfs($1)
+ refpolicywarn(`$0($*) has been deprecated, use userdom_manage_all_user_tmp_content instead.')
+ userdom_manage_all_user_tmp_content($1)
')
########################################
@@ -5431,11 +5507,8 @@ interface(`userdom_dontaudit_setattr_user_tmp',`
## </param>
#
interface(`userdom_dontaudit_setattr_user_tmpfs',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- dontaudit $1 user_tmpfs_t:file setattr;
+ refpolicywarn(`$0($*) has been deprecated, use userdom_dontaudit_setattr_user_tmp() instead.')
+ userdom_dontaudit_setattr_user_tmp($1)
')
########################################
@@ -5539,11 +5612,8 @@ interface(`userdom_delete_user_tmp_files',`
## </param>
#
interface(`userdom_delete_user_tmpfs_files',`
- gen_require(`
- type user_tmpfs_t;
- ')
-
- allow $1 user_tmpfs_t:file delete_file_perms;
+ refpolicywarn(`$0($*) has been deprecated, use userdom_delete_user_tmpfs_files instead.')
+ userdom_delete_user_tmpfs_files($1)
')
########################################
diff --git a/policy/modules/system/userdomain.te b/policy/modules/system/userdomain.te
index 7283238..6cc7d53 100644
--- a/policy/modules/system/userdomain.te
+++ b/policy/modules/system/userdomain.te
@@ -97,19 +97,18 @@ dev_node(user_devpts_t)
files_type(user_devpts_t)
ubac_constrained(user_devpts_t)
-type user_tmp_t, user_tmp_type;
+type user_tmp_t, user_tmp_type, user_tmpfs_type;
typealias user_tmp_t alias { screen_tmp_t winbind_tmp_t wine_tmp_t sshd_tmp_t staff_tmp_t sysadm_tmp_t secadm_tmp_t auditadm_tmp_t unconfined_tmp_t };
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 };
+typealias user_tmp_t alias { user_tmpfs_t staff_tmpfs_t sysadm_tmpfs_t secadm_tmpfs_t auditadm_tmpfs_t unconfined_tmpfs_t };
+typealias user_tmp_t alias xdm_tmp_t;
+typealias user_tmp_t alias { xserver_tmp_t user_xserver_tmp_t staff_xserver_tmp_t sysadm_xserver_tmp_t ice_tmp_t };
files_tmp_file(user_tmp_t)
+files_tmpfs_file(user_tmp_t)
userdom_user_home_content(user_tmp_t)
files_poly_parent(user_tmp_t)
files_mountpoint(user_tmp_t)
-type user_tmpfs_t, user_tmpfs_type;
-typealias user_tmpfs_t alias { staff_tmpfs_t sysadm_tmpfs_t secadm_tmpfs_t auditadm_tmpfs_t unconfined_tmpfs_t };
-files_tmpfs_file(user_tmpfs_t)
-userdom_user_home_content(user_tmpfs_t)
-
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 };
dev_node(user_tty_device_t)
ubac_constrained(user_tty_device_t)