From: jason@perfinion.com (Jason Zaman)
Date: Fri, 15 May 2015 02:28:44 +0400
Subject: [refpolicy] [PATCH] Introduce init_manage_service_template interface
Message-ID: <1431642524-14781-1-git-send-email-jason@perfinion.com>
To: refpolicy@oss.tresys.com
List-Id: refpolicy.oss.tresys.com
This is to be used where a role needs to start and stop a service. It
centralizes all the rules for redhat < 6 sysvinit that were used in the
_admin interfaces. The rules for other inits will be added later.
---
policy/modules/system/init.if | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/policy/modules/system/init.if b/policy/modules/system/init.if
index 0e7eaec..7938735 100644
--- a/policy/modules/system/init.if
+++ b/policy/modules/system/init.if
@@ -963,6 +963,46 @@ interface(`init_all_labeled_script_domtrans',`
########################################
##
+## Allow the role to start and stop
+## labeled services.
+##
+##
+##
+## Domain allowed to transition.
+##
+##
+##
+##
+## The role to be performing this action.
+##
+##
+##
+##
+## Type to be used as a daemon domain.
+##
+##
+##
+##
+## Labeled init script file.
+##
+##
+#
+interface(`init_manage_service_template',`
+ gen_require(`
+ role system_r;
+ ')
+
+ ifndef(`direct_sysadm_daemon',`
+ # rules for sysvinit / upstart
+ init_labeled_script_domtrans($1, $4)
+ domain_system_change_exemption($1)
+ role_transition $2 $4 system_r;
+ allow $2 system_r;
+ ')
+')
+
+########################################
+##
## Start and stop daemon programs directly.
##
##
--
2.3.6