commit: d12c961da29084ced47ff21373925c02fc73e022
Author: Jason Zaman <jason <AT> perfinion <DOT> com>
AuthorDate: Sat Jul 11 09:15:46 2015 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Thu Jul 30 16:41:28 2015 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=d12c961d
Introduce setrans_admin interface
policy/modules/roles/sysadm.te | 4 ++++
policy/modules/system/setrans.if | 31 +++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/policy/modules/roles/sysadm.te b/policy/modules/roles/sysadm.te
index 5901b2f..e96c1fd 100644
--- a/policy/modules/roles/sysadm.te
+++ b/policy/modules/roles/sysadm.te
@@ -952,6 +952,10 @@ optional_policy(`
')
optional_policy(`
+ setrans_admin(sysadm_t, sysadm_r)
+')
+
+optional_policy(`
setroubleshoot_admin(sysadm_t, sysadm_r)
')
diff --git a/policy/modules/system/setrans.if b/policy/modules/system/setrans.if
index efa9c27..2a8ecaa 100644
--- a/policy/modules/system/setrans.if
+++ b/policy/modules/system/setrans.if
@@ -40,3 +40,34 @@ interface(`setrans_translate_context',`
stream_connect_pattern($1, setrans_var_run_t, setrans_var_run_t,
setrans_t)
files_list_pids($1)
')
+
+######################################
+## <summary>
+## All of the rules required to
+## administrate an setrans environment.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+## <param name="role">
+## <summary>
+## Role allowed access.
+## </summary>
+## </param>
+#
+interface(`setrans_admin',`
+ gen_require(`
+ type setrans_t, setrans_initrc_exec_t;
+ type setrans_var_run_t;
+ ')
+
+ allow $1 setrans_t:process { ptrace signal_perms };
+ ps_process_pattern($1, setrans_t)
+
+ init_startstop_service($1, $2, setrans_t, setrans_initrc_exec_t)
+
+ files_search_pids($1)
+ admin_pattern($1, setrans_var_run_t)
+')