aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Trentalancia <guido@trentalancia.net>2017-05-25 13:23:26 +0200
committerJason Zaman <jason@perfinion.com>2017-06-06 01:16:18 +0800
commite2346cfeb76c46e1dbf2afc99f792f053693c899 (patch)
treee754a38a8674a910e834a930a6da1ebf50925a15
parentModule version bumps for patches from Jason Zaman. (diff)
downloadhardened-refpolicy-e2346cfe.tar.gz
hardened-refpolicy-e2346cfe.tar.bz2
hardened-refpolicy-e2346cfe.zip
dbus: let session bus daemon manage user runtime dirs
Let the session dbus process manage user runtime directories (with its own file type). This is the fifth version (v5) of the patch, thanks to Dominick Grift for revising the previous versions and suggesting improvements, although unfortunately this new version needs to revert one of the suggested amendments because it was misleading. Signed-off-by: Guido Trentalancia <guido at trentalancia.com>
-rw-r--r--policy/modules/contrib/dbus.fc2
-rw-r--r--policy/modules/contrib/dbus.te8
2 files changed, 10 insertions, 0 deletions
diff --git a/policy/modules/contrib/dbus.fc b/policy/modules/contrib/dbus.fc
index c2a15358..eba45221 100644
--- a/policy/modules/contrib/dbus.fc
+++ b/policy/modules/contrib/dbus.fc
@@ -4,6 +4,8 @@ HOME_DIR/\.dbus(/.*)? gen_context(system_u:object_r:session_dbusd_home_t,s0)
/run/dbus(/.*)? gen_context(system_u:object_r:system_dbusd_var_run_t,s0)
/run/messagebus\.pid -- gen_context(system_u:object_r:system_dbusd_var_run_t,s0)
+/run/user/%{USERID}/bus -s gen_context(system_u:object_r:session_dbusd_runtime_t,s0)
+/run/user/%{USERID}/dbus-1(/.*)? gen_context(system_u:object_r:session_dbusd_runtime_t,s0)
/usr/bin/dbus-daemon(-1)? -- gen_context(system_u:object_r:dbusd_exec_t,s0)
diff --git a/policy/modules/contrib/dbus.te b/policy/modules/contrib/dbus.te
index ca39fb6b..007de863 100644
--- a/policy/modules/contrib/dbus.te
+++ b/policy/modules/contrib/dbus.te
@@ -47,6 +47,9 @@ type system_dbusd_var_run_t;
files_pid_file(system_dbusd_var_run_t)
init_daemon_pid_file(system_dbusd_var_run_t, dir, "dbus")
+type session_dbusd_runtime_t;
+files_pid_file(session_dbusd_runtime_t)
+
ifdef(`enable_mcs',`
init_ranged_system_domain(system_dbusd_t, dbusd_exec_t, s0 - mcs_systemhigh)
')
@@ -210,6 +213,11 @@ manage_dirs_pattern(session_bus_type, session_dbusd_tmp_t, session_dbusd_tmp_t)
manage_files_pattern(session_bus_type, session_dbusd_tmp_t, session_dbusd_tmp_t)
files_tmp_filetrans(session_bus_type, session_dbusd_tmp_t, { dir file })
+manage_dirs_pattern(session_bus_type, session_dbusd_runtime_t, session_dbusd_runtime_t)
+manage_files_pattern(session_bus_type, session_dbusd_runtime_t, session_dbusd_runtime_t)
+manage_sock_files_pattern(session_bus_type, session_dbusd_runtime_t, session_dbusd_runtime_t)
+userdom_user_runtime_filetrans(session_bus_type, session_dbusd_runtime_t, { dir file sock_file })
+
kernel_read_system_state(session_bus_type)
kernel_read_kernel_sysctls(session_bus_type)