From: ebiederm@xmission.com (Eric W. Biederman)
To: Andrew Morton <akpm@osdl.org>
Cc: Andrey Savochkin <saw@sw.ru>,
linux-kernel@vger.kernel.org, dev@sw.ru, herbert@13thfloor.at,
devel@openvz.org, sam@vilain.net, xemul@sw.ru,
haveblue@us.ibm.com, clg@fr.ibm.com, serue@us.ibm.com
Subject: Re: [PATCH 0/9] namespaces: Introduction
Date: Mon, 22 May 2006 11:23:38 -0600 [thread overview]
Message-ID: <m1odxqkm79.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20060519082516.26cea6c5.akpm@osdl.org> (Andrew Morton's message of "Fri, 19 May 2006 08:25:16 -0700")
Andrew Morton <akpm@osdl.org> writes:
> Andrey Savochkin <saw@sw.ru> wrote:
>>
>> I have a practical proposal.
>> We can start with presenting and merging the most interesting part, network
>> containers. We discuss details, possible approaches, and related subsystems,
>> until networking is finished to its utmost detail.
>> This will create an example of virtualization of a non-trivial subsystem,
>> and we will have to agree on basic principles of virtualization of related
>> subsystems like proc.
>>
>> Virtualization of networking presents a lot of challenges and decision-making
>> points with respect to user-visible interfaces: proc, sysctl, netlink events
>> (and netlink sockets themselves), and so on. This code will also become
>> immediately useful as an improvement over chroot.
>> I am sure that when we come to a mutually acceptable solution with respect to
>> networking, virtualization of all other subsystems can be implemented and
>> merged without many questions.
>>
>> What do people think about this plan?
>
> It sounds like that feature might be the
> most-likely-to-cause-maintainer-revolt one, in which case yes, it is
> absolutely definitely the one to start with.
It sounds like a case of: That first step is a doozy.
We should be able to resolve proc and sysctl issues with just
the uts namespace. So I don't think we necessarily have to take
everything at once.
Beyond that the real sticky issue and what leads to most of the peculiar
cases is the one thing not addressed by doing the network namespace.
How do we keep someone inside a namespace from accessing files in /proc
and other places that they should not be able to access.
It occurred to me that most of the permission checking issues trivially
go away if you make the permission checks test for equality of
the tuple (uid namespace, uid). At which point a lot of the reasons
people have previously put forth for completely reorganizing proc and
sysfs go away, because users not in their uid namespace will only be
able to access world readable and world writable files. Anything else
will simply be inaccessible.
So I think we need to have a serious look at the uid/gid namespace.
This is a bit of a pain because this brings us face to face with the
uid mapping problem we have avoided for years on network filesystems,
and makes it a problem on local filesystems as well.
Getting both the uid/gid namespace and the network namespace should
get the bulk of the infrastructure problems solved.
I am even happy to do the network namespace first on the understanding
that permission checking problems caused by different users with the
same uid should be ignored until we have handled the uid/gid
namespace.
Eric
next prev parent reply other threads:[~2006-05-22 17:26 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-18 15:47 Serge E. Hallyn
2006-05-18 15:48 ` [PATCH 1/9] namespaces: add nsproxy Serge E. Hallyn
2006-05-21 23:30 ` Sam Vilain
2006-05-21 23:38 ` Eric W. Biederman
2006-05-22 12:39 ` Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 2/9] namespaces: incorporate fs namespace into nsproxy Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 3/9] namespaces: utsname: introduce temporary helpers Serge E. Hallyn
2006-05-18 15:49 ` [PATCH 4/9] namespaces: utsname: switch to using uts namespaces Serge E. Hallyn
2006-05-19 0:02 ` Randy.Dunlap
2006-05-19 2:21 ` Serge E. Hallyn
2006-05-19 2:45 ` Randy.Dunlap
2006-05-19 3:12 ` Sam Vilain
2006-05-19 9:05 ` Eric W. Biederman
2006-05-19 17:39 ` Randy.Dunlap
2006-05-19 11:58 ` Eric W. Biederman
2006-05-22 19:43 ` Cedric Le Goater
2006-05-22 20:19 ` Randy.Dunlap
2006-05-22 0:19 ` Sam Vilain
2006-05-18 15:49 ` [PATCH 5/9] namespaces: utsname: use init_utsname when appropriate Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 6/9] namespaces: utsname: implement utsname namespaces Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 7/9] namespaces: utsname: sysctl hack Serge E. Hallyn
2006-05-18 15:50 ` [PATCH 8/9] namespaces: utsname: remove system_utsname Serge E. Hallyn
2006-05-18 23:03 ` Paul Mackerras
2006-05-18 23:04 ` Paul Mackerras
2006-05-18 15:51 ` [PATCH 9/9] namespaces: utsname: implement CLONE_NEWUTS flag Serge E. Hallyn
2006-05-18 17:34 ` [PATCH 0/9] namespaces: Introduction Andrew Morton
2006-05-18 19:23 ` John Kelly
2006-05-18 23:28 ` Sam Vilain
2006-05-18 23:43 ` Sam Vilain
2006-05-19 4:24 ` Paul Jackson
2006-05-19 9:23 ` Eric W. Biederman
2006-05-19 11:41 ` Eric W. Biederman
2006-05-19 17:52 ` Jeff Dike
2006-05-20 0:16 ` Sam Vilain
2006-05-19 12:42 ` Herbert Poetzl
2006-05-19 15:13 ` Andrew Morton
2006-05-19 16:27 ` Eric W. Biederman
2006-05-19 16:40 ` Andrew Morton
2006-05-19 17:15 ` Stephen Hemminger
2006-05-19 20:17 ` Dave Hansen
2006-05-19 20:52 ` Alexey Kuznetsov
2006-05-19 18:28 ` Hua Zhong
2006-05-19 19:38 ` Serge E. Hallyn
2006-05-19 19:45 ` John Kelly
2006-05-19 20:23 ` John Kelly
2006-05-19 20:04 ` Dave Hansen
2006-05-20 3:18 ` Eric W. Biederman
2006-05-21 0:48 ` Eric W. Biederman
2006-05-21 22:57 ` Pavel Machek
2006-05-21 23:18 ` Eric W. Biederman
2006-05-21 23:32 ` Herbert Poetzl
2006-05-22 16:54 ` Eric W. Biederman
2006-05-19 13:47 ` Andrey Savochkin
2006-05-19 15:25 ` Andrew Morton
2006-05-20 21:24 ` Herbert Poetzl
2006-05-22 17:23 ` Eric W. Biederman [this message]
2006-05-20 0:16 ` Sam Vilain
2006-05-19 8:50 ` Eric W. Biederman
2006-05-19 13:30 ` Serge E. Hallyn
2006-05-21 16:27 ` Serge E. Hallyn
2006-05-21 18:08 ` Eric W. Biederman
2006-05-22 12:10 ` Serge E. Hallyn
2006-05-22 16:44 ` Eric W. Biederman
2006-05-19 17:17 Al Boldi
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=m1odxqkm79.fsf@ebiederm.dsl.xmission.com \
--to=ebiederm@xmission.com \
--cc=akpm@osdl.org \
--cc=clg@fr.ibm.com \
--cc=dev@sw.ru \
--cc=devel@openvz.org \
--cc=haveblue@us.ibm.com \
--cc=herbert@13thfloor.at \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@vilain.net \
--cc=saw@sw.ru \
--cc=serue@us.ibm.com \
--cc=xemul@sw.ru \
/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
Powered by JetHome