2019-01-08 11:41:58

by Russell Coker

[permalink] [raw]
Subject: [PATCH] /run/systemd/units/ links

This allows systemd-journald to read /run/systemd/units/ link files.

Index: refpolicy-2.20180701/policy/modules/system/logging.te
===================================================================
--- refpolicy-2.20180701.orig/policy/modules/system/logging.te
+++ refpolicy-2.20180701/policy/modules/system/logging.te
@@ -547,6 +547,7 @@ ifdef(`init_systemd',`
init_create_pid_dirs(syslogd_t)
init_daemon_pid_file(syslogd_var_run_t, dir, "syslogd")
init_getattr(syslogd_t)
+ init_read_run_links(syslogd_t)
init_rename_pid_files(syslogd_t)
init_delete_pid_files(syslogd_t)
init_dgram_send(syslogd_t)
Index: refpolicy-2.20180701/policy/modules/system/init.if
===================================================================
--- refpolicy-2.20180701.orig/policy/modules/system/init.if
+++ refpolicy-2.20180701/policy/modules/system/init.if
@@ -894,6 +894,26 @@ interface(`init_dgram_send',`

########################################
## <summary>
+## read init /run link files
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+## <rolecap/>
+#
+interface(`init_read_run_links',`
+ gen_require(`
+ type init_var_run_t;
+ ')
+
+ files_search_pids($1)
+ allow $1 init_var_run_t:lnk_file read_lnk_file_perms;
+')
+
+########################################
+## <summary>
## Read and write to inherited init unix streams.
## </summary>
## <param name="domain">


2019-01-10 00:37:14

by Chris PeBenito

[permalink] [raw]
Subject: Re: [PATCH] /run/systemd/units/ links

On 1/8/19 6:41 AM, Russell Coker wrote:
> This allows systemd-journald to read /run/systemd/units/ link files.
>
> Index: refpolicy-2.20180701/policy/modules/system/logging.te
> ===================================================================
> --- refpolicy-2.20180701.orig/policy/modules/system/logging.te
> +++ refpolicy-2.20180701/policy/modules/system/logging.te
> @@ -547,6 +547,7 @@ ifdef(`init_systemd',`
> init_create_pid_dirs(syslogd_t)
> init_daemon_pid_file(syslogd_var_run_t, dir, "syslogd")
> init_getattr(syslogd_t)
> + init_read_run_links(syslogd_t)
> init_rename_pid_files(syslogd_t)
> init_delete_pid_files(syslogd_t)
> init_dgram_send(syslogd_t)
> Index: refpolicy-2.20180701/policy/modules/system/init.if
> ===================================================================
> --- refpolicy-2.20180701.orig/policy/modules/system/init.if
> +++ refpolicy-2.20180701/policy/modules/system/init.if
> @@ -894,6 +894,26 @@ interface(`init_dgram_send',`
>
> ########################################
> ## <summary>
> +## read init /run link files
> +## </summary>
> +## <param name="domain">
> +## <summary>
> +## Domain allowed access.
> +## </summary>
> +## </param>
> +## <rolecap/>
> +#
> +interface(`init_read_run_links',`

I guess this is a race between patches. Should be named
init_read_pid_symlinks. Same feedback as GitHub PR
https://github.com/SELinuxProject/refpolicy/pull/17


--
Chris PeBenito

2019-01-10 23:08:39

by Nicolas Iooss

[permalink] [raw]
Subject: Re: [PATCH] /run/systemd/units/ links

On Thu, Jan 10, 2019 at 1:37 AM Chris PeBenito <[email protected]> wrote:
>
> On 1/8/19 6:41 AM, Russell Coker wrote:
> > This allows systemd-journald to read /run/systemd/units/ link files.
> >
> > Index: refpolicy-2.20180701/policy/modules/system/logging.te
> > ===================================================================
> > --- refpolicy-2.20180701.orig/policy/modules/system/logging.te
> > +++ refpolicy-2.20180701/policy/modules/system/logging.te
> > @@ -547,6 +547,7 @@ ifdef(`init_systemd',`
> > init_create_pid_dirs(syslogd_t)
> > init_daemon_pid_file(syslogd_var_run_t, dir, "syslogd")
> > init_getattr(syslogd_t)
> > + init_read_run_links(syslogd_t)
> > init_rename_pid_files(syslogd_t)
> > init_delete_pid_files(syslogd_t)
> > init_dgram_send(syslogd_t)
> > Index: refpolicy-2.20180701/policy/modules/system/init.if
> > ===================================================================
> > --- refpolicy-2.20180701.orig/policy/modules/system/init.if
> > +++ refpolicy-2.20180701/policy/modules/system/init.if
> > @@ -894,6 +894,26 @@ interface(`init_dgram_send',`
> >
> > ########################################
> > ## <summary>
> > +## read init /run link files
> > +## </summary>
> > +## <param name="domain">
> > +## <summary>
> > +## Domain allowed access.
> > +## </summary>
> > +## </param>
> > +## <rolecap/>
> > +#
> > +interface(`init_read_run_links',`
>
> I guess this is a race between patches. Should be named
> init_read_pid_symlinks. Same feedback as GitHub PR
> https://github.com/SELinuxProject/refpolicy/pull/17

I like "init_read_runtime_symlinks" more than "init_read_pid_symlinks"
so I have uploaded my Pull Request. If your prefer the second name, I
can change it again.
Compared to this patch, my PR does not use files_search_pids() but
directly read_lnk_files_pattern() like some other interfaces. I have
no strong preferences regarding this.

Thanks,
Nicolas


2019-01-11 00:28:13

by Russell Coker

[permalink] [raw]
Subject: Re: [PATCH] /run/systemd/units/ links

On Friday, 11 January 2019 10:08:22 AM AEDT Nicolas Iooss wrote:
> > I guess this is a race between patches. Should be named
> > init_read_pid_symlinks. Same feedback as GitHub PR
> > https://github.com/SELinuxProject/refpolicy/pull/17
>
> I like "init_read_runtime_symlinks" more than "init_read_pid_symlinks"
> so I have uploaded my Pull Request. If your prefer the second name, I
> can change it again.
> Compared to this patch, my PR does not use files_search_pids() but
> directly read_lnk_files_pattern() like some other interfaces. I have
> no strong preferences regarding this.

I'm really not bothered by the name. Whatever gets it included in git the
fastest is good for me.

Also I'd really like to see a new upstream release before the end of the month
if convenient.

--
My Main Blog http://etbe.coker.com.au/
My Documents Blog http://doc.coker.com.au/




2019-01-11 01:30:53

by Chris PeBenito

[permalink] [raw]
Subject: Re: [PATCH] /run/systemd/units/ links

On 1/10/19 7:28 PM, Russell Coker wrote:
> On Friday, 11 January 2019 10:08:22 AM AEDT Nicolas Iooss wrote:
>>> I guess this is a race between patches. Should be named
>>> init_read_pid_symlinks. Same feedback as GitHub PR
>>> https://github.com/SELinuxProject/refpolicy/pull/17
>>
>> I like "init_read_runtime_symlinks" more than "init_read_pid_symlinks"
>> so I have uploaded my Pull Request. If your prefer the second name, I
>> can change it again.
>> Compared to this patch, my PR does not use files_search_pids() but
>> directly read_lnk_files_pattern() like some other interfaces. I have
>> no strong preferences regarding this.
>
> I'm really not bothered by the name. Whatever gets it included in git the
> fastest is good for me.
>
> Also I'd really like to see a new upstream release before the end of the month
> if convenient.

I've merged the PR, though this means the init_*_pid_*() interfaces will
need to be deprecated and replaced, for consistency.

--
Chris PeBenito