From: Lukasz Pawelczyk <l.pawelczyk@samsung.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Richard Weinberger <richard@nod.at>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
James Morris <james.l.morris@oracle.com>,
"Serge E. Hallyn" <serge@hallyn.com>,
Serge Hallyn <serge.hallyn@canonical.com>,
Al Viro <viro@zeniv.linux.org.uk>, Paul Moore <pmoore@redhat.com>,
Kees Cook <keescook@chromium.org>,
Miklos Szeredi <mszeredi@suse.cz>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
Nikolay Aleksandrov <nikolay@redhat.com>,
Mark Rustad <mark.d.rustad@intel.com>,
David Howells <dhowells@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Oleg Nesterov <oleg@redhat.com>,
Juri Lelli <juri.lelli@gmail.com>,
Daeseok Youn <daeseok.youn@gmail.com>,
David Rientjes <rientjes@google.com>,
Dario Faggioli <raistlin@linux.it>,
Alex Thorlton <athorlton@sgi.com>,
Matthew Dempsky <mdempsky@chromium.org>,
Vladimir Davydov <vdavydov@parallels.com>,
Casey Schaufler <casey@schaufler-ca.com>,
LKML <linux-kernel@vger.kernel.org>,
"open list:ABI/API" <linux-api@vger.kernel.org>,
linux-security-module@vger.kernel.org,
Linux Containers <containers@lists.linux-foundation.org>,
Lukasz Pawelczyk <havner@gmail.com>
Subject: Re: [RFC] lsm: namespace hooks
Date: Thu, 27 Nov 2014 18:38:31 +0100 [thread overview]
Message-ID: <1417109911.1805.27.camel@samsung.com> (raw)
In-Reply-To: <871tooy4nc.fsf@x220.int.ebiederm.org>
On czw, 2014-11-27 at 10:44 -0600, Eric W. Biederman wrote:
> Lukasz Pawelczyk <l.pawelczyk@samsung.com> writes:
>
> > On czw, 2014-11-27 at 09:42 -0600, Eric W. Biederman wrote:
> >> We are probably going to need to go a couple rounds with this but at
> >> first approximation I think this functionality needs to be tied to the
> >> user namespace. This functionality already looks half tied to it.
Actually it's not. You can create LSM/Smack namespace without user
namespace and it works properly.
> >> When mounting filesystems with user namespaces priveleges matures a
> >> little more you should be able to use unmapped labels. In the near term
> >> we are looking at filesystems such as tmpfs, fuse and posibly extN.
Ok, I get the idea now. But still think it wouldn't do well with the
Smack namespace. It would basically allow you to operate on something
that the administrator did not allowed you to (by filling the labels'
map).
If the user namespace allows such a thing now I was not aware. I'll have
a look.
> I had two points.
> a) Tie the label mapping to the user namespace, then we don't need any
> new namespaces.
>
> Is there a reason not to tie the label mapping to the user namespace?
I remember that I entertained the idea when I started the work on that
and for some reason went against it.
Right now the major issue I see is that LSM by itself is not defined how
it's going to behave. It's up to a specific LSM module.
E.g. within the Smack namespace filling the map is a privileged
operation. So by tying them up you cripple the ability to create a fully
working user namespace as an unprivileged process.
I want to have Smack namespace be able to map its own label without
privileges (as user namespace can do with its own UID) but for now it's
not the case and I'm not sure it will ever be.
With other LSM implementation other limitations might apply.
Besides a use case (with other LSM modules) when someone might not want
to create an LSM namespace might be valid as well.
>
> Needing to modify every userspace that create containers to know
> about every different lsm looks like a maintenance difficulty I would
> prefer to avoid.
The LSM namespace is only one, it's not like every LSM modules creates a
different namespace. The LSM namespace is created for the LSM module
that is active at the moment. And user space might need to be aware of
them anyway as e.g. Smack requires you to create labels' map. Other
modules might require something different.
BTW: have you read the Smack-namespace readme I pasted in the cover
letter? It describes the idea behind namespace implementation in that
particular module.
--
Lukasz Pawelczyk
Samsung R&D Institute Poland
Samsung Electronics
next prev parent reply other threads:[~2014-11-27 17:38 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-27 14:01 [RFC] LSM/Smack namespace work in progress Lukasz Pawelczyk
2014-11-27 14:01 ` [RFC] lsm: namespace hooks Lukasz Pawelczyk
2014-11-27 14:18 ` Richard Weinberger
2014-11-27 14:35 ` Lukasz Pawelczyk
[not found] ` <54773757.8090905@nod.at>
2014-11-27 14:44 ` Lukasz Pawelczyk
[not found] ` <54773CE7.5040303@nod.at>
2014-11-27 15:11 ` Lukasz Pawelczyk
[not found] ` <547740A0.4040700@nod.at>
2014-11-27 15:24 ` Lukasz Pawelczyk
2014-11-27 15:42 ` Eric W. Biederman
2014-11-27 16:07 ` Lukasz Pawelczyk
2014-11-27 16:44 ` Eric W. Biederman
2014-11-27 17:38 ` Lukasz Pawelczyk [this message]
2014-12-02 12:43 ` Lukasz Pawelczyk
2014-12-09 16:13 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417109911.1805.27.camel@samsung.com \
--to=l.pawelczyk@samsung.com \
--cc=akpm@linux-foundation.org \
--cc=athorlton@sgi.com \
--cc=casey@schaufler-ca.com \
--cc=containers@lists.linux-foundation.org \
--cc=daeseok.youn@gmail.com \
--cc=dhowells@redhat.com \
--cc=ebiederm@xmission.com \
--cc=havner@gmail.com \
--cc=james.l.morris@oracle.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=juri.lelli@gmail.com \
--cc=keescook@chromium.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mark.d.rustad@intel.com \
--cc=mdempsky@chromium.org \
--cc=mingo@redhat.com \
--cc=mszeredi@suse.cz \
--cc=nikolay@redhat.com \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=pmoore@redhat.com \
--cc=raistlin@linux.it \
--cc=richard@nod.at \
--cc=rientjes@google.com \
--cc=serge.hallyn@canonical.com \
--cc=serge@hallyn.com \
--cc=vdavydov@parallels.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox