Re: [PATCH v2] Module for tpm2
Chris PeBenito <[email protected]>
| Newsgroups | org.kernel.vger.selinux-refpolicy |
|---|---|
| Message-ID | <[email protected]> |
On 8/5/19 3:13 PM, Sugar, David wrote: > Module for tpm2 > > v2 - updated to rename module and interface names, different dbus > interface > > Signed-off-by: Dave Sugar <[email protected]> > --- > policy/modules/services/tpm2.fc | 3 ++ > policy/modules/services/tpm2.if | 58 +++++++++++++++++++++++++++++++++ > policy/modules/services/tpm2.te | 30 +++++++++++++++++ > 3 files changed, 91 insertions(+) > create mode 100644 policy/modules/services/tpm2.fc > create mode 100644 policy/modules/services/tpm2.if > create mode 100644 policy/modules/services/tpm2.te > > diff --git a/policy/modules/services/tpm2.fc b/policy/modules/services/tpm2.fc > new file mode 100644 > index 00000000..4ccf2f25 > --- /dev/null > +++ b/policy/modules/services/tpm2.fc > @@ -0,0 +1,3 @@ > +/usr/sbin/tpm2-abrmd -- gen_context(system_u:object_r:tpm2_abrmd_exec_t,s0) > + > +/usr/lib/systemd/system/[^/]*tpm2-abrmd\.service -- gen_context(system_u:object_r:tpm2_abrmd_unit_t,s0) > diff --git a/policy/modules/services/tpm2.if b/policy/modules/services/tpm2.if > new file mode 100644 > index 00000000..55133e4a > --- /dev/null > +++ b/policy/modules/services/tpm2.if > @@ -0,0 +1,58 @@ > +## <summary>Trusted Platform Module 2.0</summary> > + > +######################################## > +## <summary> > +## Allow specified domain to enable/disable tpm2-abrmd unit > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`tpm2_enabledisable_abrmd',` > + gen_require(` > + type tpm2_abrmd_unit_t; > + class service { enable disable }; > + ') > + > + allow $1 tpm2_abrmd_unit_t:service { enable disable }; > +') > + > +######################################## > +## <summary> > +## Allow specified domain to start/stop tpm2-abrmd unit > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`tpm2_startstop_abrmd',` > + gen_require(` > + type tpm2_abrmd_unit_t; > + class service { start stop }; > + ') > + > + allow $1 tpm2_abrmd_unit_t:service { start stop }; > +') > + > +######################################## > +## <summary> > +## Allow specified domain to get status of tpm2-abrmd unit > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`tpm2_status_abrmd',` > + gen_require(` > + type tpm2_abrmd_unit_t; > + class service status; > + ') > + > + allow $1 tpm2_abrmd_unit_t:service status; > +') > diff --git a/policy/modules/services/tpm2.te b/policy/modules/services/tpm2.te > new file mode 100644 > index 00000000..aa607771 > --- /dev/null > +++ b/policy/modules/services/tpm2.te > @@ -0,0 +1,30 @@ > +policy_module(tpm2, 1.0.0) > + > +######################################## > +# > +# Declarations > +# > + > +type tpm2_abrmd_t; > +type tpm2_abrmd_exec_t; > +init_daemon_domain(tpm2_abrmd_t, tpm2_abrmd_exec_t) > + > +type tpm2_abrmd_unit_t; > +init_unit_file(tpm2_abrmd_unit_t) > + > +######################################## > +# > +# Local policy > +# > + > +allow tpm2_abrmd_t self:process signal; > +allow tpm2_abrmd_t self:unix_stream_socket create_socket_perms; > + > +dev_rw_tpm(tpm2_abrmd_t) > + > +kernel_read_crypto_sysctls(tpm2_abrmd_t) > +kernel_read_system_state(tpm2_abrmd_t) > + > +optional_policy(` > + dbus_system_domain(tpm2_abrmd_t, tpm2_abrmd_exec_t) > +') Merged. -- Chris PeBenito