[lxc-devel] [PATCH] lxc-monitord.log should not be created with mode 0666
Dwight Engen
dwight.engen at oracle.com
Tue Jan 28 17:53:06 UTC 2014
On Tue, 28 Jan 2014 16:38:46 +0100
Robert Vogelgesang <vogel at users.sourceforge.net> wrote:
> Hi,
>
> On Tue, Jan 28, 2014 at 10:22:36AM -0500, Dwight Engen wrote:
> > On Tue, 28 Jan 2014 12:01:54 +0100
> > Robert Vogelgesang <vogel at users.sourceforge.net> wrote:
> >
> > > lxc_monitord_spawn() in src/lxc/monitor.c contained "umask(0);",
> > > and because of this, lxc-monitord created lxc-monitord.log with
> > > mode 0666. World-writeable log files are bad, so remove this
> > > umask(0).
> >
> > I don't have a problem with this change per-se, but I think the
> > reason the log is 0666 is because that is the mode passed in
> > log.c:log_open(). Did your change actually have the effect you were
> > after?
>
> yes, removing "umask(0);" fixed the mode for newly-created logs.
>
> >
> > If we don't want logs world readable then I'd suggest we should
> > change the mode log_open() so it takes effect for all lxc logs.
>
> This is not neccessary, because the mode passed to open(2) is modified
> by the current umask. If you have a umask of 022, you don't get
> files with mode 0666.
Right, but if the original caller for some reason has a umask of 0,
wouldn't the logfile still be 0666, so do we care about that?
> The ONLY reason for a zero umask would be if we want/need mode 0666 on
> the unix socket files and named pipes. If this should be the case,
> the "umask(0);" should be moved to lxc_monitord_create() in
> lxc_monitord.c, or to main() in lxc_monitord.c, just before calling
> lxc_monitord_create().
>
> My (admittedly few) tests so far indicate that we don't need a zero
> umask.
Yep, I agree, and I think it can just be removed. The only thing
monitord is creating is monitor-fifo and it is 0600. The unix socket is
abstract so I don't think umask applies there, so:
Acked-by: Dwight Engen <dwight.engen at oracle.com>
Thanks!
> Robert
>
> >
> > > Signed-off-by: Robert Vogelgesang <vogel at users.sourceforge.net>
> > >
> > > diff -u lxc-lxc-1.0.0.beta3/src/lxc/monitor.c.orig
> > > lxc-lxc-1.0.0.beta3/src/lxc/monitor.c ---
> > > lxc-lxc-1.0.0.beta3/src/lxc/monitor.c.orig 2014-01-27
> > > 14:52:20.000000000 +0100 +++
> > > lxc-lxc-1.0.0.beta3/src/lxc/monitor.c 2014-01-28
> > > 11:57:26.692102355 +0100 @@ -325,7 +325,6 @@ exit(EXIT_SUCCESS); }
> > >
> > > - umask(0);
> > > if (setsid() < 0) {
> > > SYSERROR("failed to setsid");
> > > exit(EXIT_FAILURE);
> > > _______________________________________________
> > > lxc-devel mailing list
> > > lxc-devel at lists.linuxcontainers.org
> > > http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list