From: James Bottomley <James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
To: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Cc: gnome-os-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org,
Linux Containers
<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
mclasen-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
"Eric W. Biederman"
<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
Linux FS Devel
<linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] devpts: Add ptmx_uid and ptmx_gid options
Date: Tue, 31 Mar 2015 16:23:04 +0300 [thread overview]
Message-ID: <1427808184.2117.122.camel@HansenPartnership.com> (raw)
In-Reply-To: <CALCETrWKA4ZdHfdLuW0_W5xxJOSCJdt_fiRWs6vDk+8ZQ9n9iA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Tue, 2015-03-31 at 06:12 -0700, Andy Lutomirski wrote:
> On Tue, Mar 31, 2015 at 6:07 AM, James Bottomley
> <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
> > On Tue, 2015-03-31 at 09:57 +0200, Alexander Larsson wrote:
> >> On fre, 2015-03-27 at 10:03 +0100, James Bottomley
> >> >
> >> > > On Fri, Feb 20, 2015 at 5:04 PM, Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org> wrote:
> >> > > > It's currently impossible to mount devpts in a user namespace that
> >> > > > has no root user, since ptmx can't be created.
> >> >
> >> > This is where I stopped reading because it's not true ... because it is
> >> > possible, you just do it from the host as real root.
> >>
> >> The point is being able to set up a container as a user, not requiring
> >> the setup to be run as root at all. In my case container is a desktop
> >> application which will be started by the user, and will run as the user.
> >> There is no root involved in the call chain at all.
> >
> > I don't really like that use case: Most container setups are under the
> > control of an orchestration system (like LXC, OpenVZ or even Docker).
> > You typically get the orchestration system to do the dangerous
> > operations (mount being one of the bigger dangers) because it has the
> > capacity to vet them. I can see the value in allowing a user to set up
> > a container without an oversight system, but at the same time you're
> > increasing the security vulnerability of the system. Security is often
> > a result of policy, so now this embeds policy into the kernel. I
> > strongly feel we should define the list of things we expect an
> > unsupervised (as in with no orchestration system) container to do and
> > then revisit this once we've given it some thought.
>
> Try thinking "sandbox", not "container". The ability to create
> sandboxes without some root-installed orchestration is incredibly
> valuable.
A container is anything that uses the various container APIs (mostly
cgroups and namespaces), so the set of possible containers overlaps the
set of possible sandboxes.
> In any event, this ship sailed quite awhile ago. devpts is one of the
> smallish number of important missing features.
I'm not saying "don't do it" I'm saying think carefully about the
allowable features we permit an unprivileged user to take advantage of.
This one feels strange to me in that you're asking to give an
unprivileged user in a container more abilities than an unprivileged
user outside a container (a non-root user can't mount /dev/ptmx today).
This would mean that every unprivileged container user can now interfere
with the tty subsystem.
James
WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Alexander Larsson <alexl@redhat.com>,
gnome-os-list@gnome.org,
Linux Containers <containers@lists.linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
mclasen@redhat.com, "Eric W. Biederman" <ebiederm@xmission.com>,
Linux FS Devel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] devpts: Add ptmx_uid and ptmx_gid options
Date: Tue, 31 Mar 2015 16:23:04 +0300 [thread overview]
Message-ID: <1427808184.2117.122.camel@HansenPartnership.com> (raw)
In-Reply-To: <CALCETrWKA4ZdHfdLuW0_W5xxJOSCJdt_fiRWs6vDk+8ZQ9n9iA@mail.gmail.com>
On Tue, 2015-03-31 at 06:12 -0700, Andy Lutomirski wrote:
> On Tue, Mar 31, 2015 at 6:07 AM, James Bottomley
> <James.Bottomley@hansenpartnership.com> wrote:
> > On Tue, 2015-03-31 at 09:57 +0200, Alexander Larsson wrote:
> >> On fre, 2015-03-27 at 10:03 +0100, James Bottomley
> >> >
> >> > > On Fri, Feb 20, 2015 at 5:04 PM, Andy Lutomirski <luto@amacapital.net> wrote:
> >> > > > It's currently impossible to mount devpts in a user namespace that
> >> > > > has no root user, since ptmx can't be created.
> >> >
> >> > This is where I stopped reading because it's not true ... because it is
> >> > possible, you just do it from the host as real root.
> >>
> >> The point is being able to set up a container as a user, not requiring
> >> the setup to be run as root at all. In my case container is a desktop
> >> application which will be started by the user, and will run as the user.
> >> There is no root involved in the call chain at all.
> >
> > I don't really like that use case: Most container setups are under the
> > control of an orchestration system (like LXC, OpenVZ or even Docker).
> > You typically get the orchestration system to do the dangerous
> > operations (mount being one of the bigger dangers) because it has the
> > capacity to vet them. I can see the value in allowing a user to set up
> > a container without an oversight system, but at the same time you're
> > increasing the security vulnerability of the system. Security is often
> > a result of policy, so now this embeds policy into the kernel. I
> > strongly feel we should define the list of things we expect an
> > unsupervised (as in with no orchestration system) container to do and
> > then revisit this once we've given it some thought.
>
> Try thinking "sandbox", not "container". The ability to create
> sandboxes without some root-installed orchestration is incredibly
> valuable.
A container is anything that uses the various container APIs (mostly
cgroups and namespaces), so the set of possible containers overlaps the
set of possible sandboxes.
> In any event, this ship sailed quite awhile ago. devpts is one of the
> smallish number of important missing features.
I'm not saying "don't do it" I'm saying think carefully about the
allowable features we permit an unprivileged user to take advantage of.
This one feels strange to me in that you're asking to give an
unprivileged user in a container more abilities than an unprivileged
user outside a container (a non-root user can't mount /dev/ptmx today).
This would mean that every unprivileged container user can now interfere
with the tty subsystem.
James
next prev parent reply other threads:[~2015-03-31 13:23 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-21 1:04 [PATCH] devpts: Add ptmx_uid and ptmx_gid options Andy Lutomirski
2015-02-21 1:04 ` Andy Lutomirski
2015-03-26 19:29 ` Andy Lutomirski
[not found] ` <CALCETrVtGE8LdBCFTe1_cqpLf=SxPNX5iCe5wa-hZ0pe8ps_jA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-27 9:03 ` James Bottomley
2015-03-27 9:03 ` James Bottomley
[not found] ` <1427447013.2250.9.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 7:57 ` Alexander Larsson
2015-03-31 7:57 ` Alexander Larsson
[not found] ` <1427788642.4411.12.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-03-31 13:06 ` Andy Lutomirski
2015-03-31 13:06 ` Andy Lutomirski
2015-03-31 13:07 ` James Bottomley
2015-03-31 13:07 ` James Bottomley
2015-03-31 13:11 ` Alexander Larsson
[not found] ` <1427807248.2117.117.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:11 ` Alexander Larsson
2015-03-31 13:12 ` Andy Lutomirski
2015-03-31 13:12 ` Andy Lutomirski
[not found] ` <CALCETrWKA4ZdHfdLuW0_W5xxJOSCJdt_fiRWs6vDk+8ZQ9n9iA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 13:23 ` James Bottomley [this message]
2015-03-31 13:23 ` James Bottomley
2015-03-31 13:44 ` Andy Lutomirski
[not found] ` <CALCETrW8v1NFa7fcJbyJKXk9Msudht5BJ7Zy1Rg7ZC_TS-2Y-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 13:55 ` James Bottomley
2015-03-31 13:55 ` James Bottomley
2015-03-31 13:59 ` Andy Lutomirski
[not found] ` <CALCETrU1vKf3fXPt8nS-ABDgfp8NxrFjHwTc68rA0rtvg2Lufg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-31 14:08 ` James Bottomley
2015-03-31 14:08 ` James Bottomley
2015-03-31 14:17 ` Alexander Larsson
[not found] ` <1427811444.4411.20.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-02 10:12 ` James Bottomley
2015-04-02 10:12 ` James Bottomley
[not found] ` <1427969525.3559.120.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-02 14:06 ` Andy Lutomirski
2015-04-02 14:06 ` Andy Lutomirski
2015-04-02 14:29 ` Alexander Larsson
[not found] ` <1427984969.13651.11.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-02 14:33 ` Andy Lutomirski
2015-04-02 14:33 ` Andy Lutomirski
[not found] ` <CALCETrWYit+WiAM6DFm0enGeJN==uWNC63zXp_zRSsSJg2YGPg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-02 15:49 ` Serge Hallyn
2015-04-02 15:49 ` Serge Hallyn
2015-04-02 18:27 ` Eric W. Biederman
2015-04-02 18:27 ` Eric W. Biederman
2015-05-27 21:32 ` Andy Lutomirski
[not found] ` <CALCETrVGcCA2SMiDT8JN=AWiSFCXWSaMeKBQmkbKynKfiPJCwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 16:44 ` Eric W. Biederman
2015-05-28 16:44 ` Eric W. Biederman
2015-05-28 17:01 ` Alexander Larsson
[not found] ` <1432832511.21304.6.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-28 17:14 ` Eric W. Biederman
2015-05-28 17:14 ` Eric W. Biederman
2015-05-28 17:35 ` Alexander Larsson
[not found] ` <87mw0omxp0.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-28 17:35 ` Alexander Larsson
2015-05-28 20:06 ` Alexander Larsson
2015-05-28 20:06 ` Alexander Larsson
2015-05-28 20:17 ` Kenton Varda
[not found] ` <CAOP=4wggpXOC4qLWgNAdw7Ws4vtYR=hscNYzDCfby+-VUxhoQg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 21:50 ` Eric W. Biederman
2015-05-28 21:50 ` Eric W. Biederman
[not found] ` <1432843577.9873.1.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-28 20:17 ` Kenton Varda
2015-05-28 17:30 ` Andy Lutomirski
2015-05-28 17:30 ` Andy Lutomirski
[not found] ` <CALCETrUueGomqFG0DSpt5Ern-XW6DE+rAEkd=3Y2ekV+gOwLAA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-28 19:42 ` Eric W. Biederman
2015-05-28 19:42 ` Eric W. Biederman
[not found] ` <87siagh4kh.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2016-03-08 4:59 ` Andy Lutomirski
2016-03-08 4:59 ` Andy Lutomirski
2016-03-08 9:16 ` Alexander Larsson
[not found] ` <1457428591.27353.55.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-08 18:17 ` Andy Lutomirski
2016-03-08 18:17 ` Andy Lutomirski
[not found] ` <CALCETrXNyyG-LZ8ds5ALbWs_Tfonev4+Ci=XZwWFqsSeszes8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-08 9:16 ` Alexander Larsson
[not found] ` <87oal4odne.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-28 17:01 ` Alexander Larsson
[not found] ` <87zj6qs7v8.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-27 21:32 ` Andy Lutomirski
[not found] ` <CALCETrWyUYgHY53O451AdJUs9Mcjsqmr4fUzoNmYsTP1HLq+VA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-02 14:29 ` Alexander Larsson
[not found] ` <1427810886.2117.129.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 14:17 ` Alexander Larsson
[not found] ` <1427810118.2117.126.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:59 ` Andy Lutomirski
[not found] ` <1427808184.2117.122.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-03-31 13:44 ` Andy Lutomirski
2015-05-18 21:04 ` Alexander Larsson
2015-05-18 21:04 ` Alexander Larsson
[not found] ` <b321c0c2729d1c2a72aea319b077dce7afd79698.1424480579.git.luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2015-03-26 19:29 ` Andy Lutomirski
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=1427808184.2117.122.camel@HansenPartnership.com \
--to=james.bottomley-d9phhud1jfjcxq6kfmz53/egyhegw8jk@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=gnome-os-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org \
--cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=mclasen-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.