diff --git a/policy/modules/services/knot.if b/policy/modules/services/knot.if
index 247bb6c94..af98c44ee 100644
--- a/policy/modules/services/knot.if
+++ b/policy/modules/services/knot.if
@@ -45,6 +45,25 @@ interface(`knot_run_client',`
roleattribute $2 knot_roles;
')
+########################################
+##
+## Execute knotc in knot init
+## scripts in the initrc domain.
+##
+##
+##
+## Domain allowed to transition.
+##
+##
+#
+interface(`knotc_initrc_domtrans',`
+ gen_require(`
+ type knot_initrc_exec_t;
+ ')
+
+ init_labeled_script_domtrans($1, knot_initrc_exec_t)
+')
+
########################################
##
## Read knot config files.
diff --git a/policy/modules/services/knot.te b/policy/modules/services/knot.te
index d658d973c..9b5b83173 100644
--- a/policy/modules/services/knot.te
+++ b/policy/modules/services/knot.te
@@ -38,7 +38,7 @@ files_type(knot_var_lib_t)
#
allow knotd_t self:capability { dac_override dac_read_search setgid setpcap setuid };
-allow knotd_t self:process { getcap getsched setsched signal_perms };
+allow knotd_t self:process { getcap getsched setcap setsched signal_perms };
allow knotd_t self:tcp_socket create_stream_socket_perms;
allow knotd_t self:udp_socket create_socket_perms;
allow knotd_t self:unix_stream_socket create_stream_socket_perms;