[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080314140523.GG8744@sergelap.austin.ibm.com>
Date: Fri, 14 Mar 2008 09:05:23 -0500
From: "Serge E. Hallyn" <serue@...ibm.com>
To: Paul Menage <menage@...gle.com>
Cc: "Serge E. Hallyn" <serue@...ibm.com>,
lkml <linux-kernel@...r.kernel.org>,
linux-security-module@...r.kernel.org, Greg KH <greg@...ah.com>,
Stephen Smalley <sds@...ch.ncsc.mil>,
Casey Schaufler <casey@...aufler-ca.com>,
Pavel Emelianov <xemul@...nvz.org>
Subject: Re: [RFC] cgroups: implement device whitelist lsm (v2)
Quoting Paul Menage (menage@...gle.com):
> On Wed, Mar 12, 2008 at 8:27 PM, Serge E. Hallyn <serue@...ibm.com> wrote:
> >
> > While composing this with the ns_cgroup may seem logical, it is not
> > the right thing to do, because updates to /cg/cg1/devcg.deny are
> > not reflected in /cg/cg1/cg2/devcg.allow.
>
> Maybe you should follow up the tree to ensure that all parent groups
> have access to the device too? Or alternatively, cache the results of
> this lookup whenever permissions for a device change?
Yes, I considered that. Alternatively additions to a parent cgroup's
.deny could be propagated to all its descendents (but not additions to
the .allow).
I've noted this as something to add to the next version.
> > A task may only be moved to another devcgroup if it is moving to
> > a direct descendent of its current devcgroup.
>
> What's the rationale for that?
To prevent it escaping to laxer device permissions, which of course only
makes sense if we do what you recommend above :)
> > CAP_NS_OVERRIDE is defined as the capability needed to cross namespaces.
> > A task needs both CAP_NS_OVERRIDE and CAP_SYS_ADMIN to create a new
> > devcgroup, update a devcgroup's access, or move a task to a new
> > devcgroup.
>
> But this isn't necessarily crossing namespaces. It could be used for
> device control in the same namespace (e.g. allowing a job to access a
> raw disk for its data storage rather than going through the
> filesystem).
Yeah it should be renamed. I want to use the same cap which we would
use for user namespaces though. CAP_NS_CONT(ainer)? Even though there
really is no such thing as a 'container'. But that would tie together
any such privileges for cgroups and namespaces.
thanks,
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists