From: ebiederm@xmission.com (Eric W. Biederman)
To: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
akpm@linux-foundation.org, hch@infradead.org,
viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: unprivileged mounts git tree
Date: Thu, 07 Aug 2008 17:07:01 -0700 [thread overview]
Message-ID: <m1prokgyje.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <20080807222751.GA28412@us.ibm.com> (Serge E. Hallyn's message of "Thu, 7 Aug 2008 17:27:51 -0500")
"Serge E. Hallyn" <serue@us.ibm.com> writes:
> Quoting Miklos Szeredi (miklos@szeredi.hu):
>> Here's a git tree of the unprivileged mounts patchset:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git
> unprivileged-mounts
>>
>> Could this be added to -mm (and dropped if it's in the way of
>> something) for some testing and added visibility until it's reviewed
>> by Christoph/Al?
>>
>> I'm not reposting the whole patchset, since it's essentially the same
>> as the last submission, only updated to the latest git. But if
>> somebody wants it I can post them.
>>
>> Thanks,
>> Miklos
>>
>>
>> Documentation/filesystems/fuse.txt | 88 ++++++++-
>> Documentation/filesystems/proc.txt | 40 ++++
>> fs/filesystems.c | 60 ++++++
>> fs/fuse/inode.c | 21 ++
>> fs/internal.h | 3 +-
>> fs/namespace.c | 366 +++++++++++++++++++++++++++---------
>> fs/pnode.c | 22 ++-
>> fs/pnode.h | 2 +
>> fs/super.c | 26 ---
>> include/linux/fs.h | 7 +
>> include/linux/mount.h | 4 +
>> kernel/sysctl.c | 16 ++
>> 12 files changed, 527 insertions(+), 128 deletions(-)
>>
>> Miklos Szeredi (10):
>> unprivileged mounts: add user mounts to the kernel
>> unprivileged mounts: allow unprivileged umount
>> unprivileged mounts: propagate error values from clone_mnt
>> unprivileged mounts: account user mounts
>> unprivileged mounts: allow unprivileged bind mounts
>> unprivileged mounts: allow unprivileged mounts
>> unprivileged mounts: add sysctl tunable for "safe" property
>> unprivileged mounts: make fuse safe
>> unprivileged mounts: propagation: inherit owner from parent
>> unprivileged mounts: add "no submounts" flag
>
> Hi Miklos,
>
> so on the bright side I pulled this tree today and it compiled and
> passed ltp with no problems.
>
> But then I played around a bit and found I could do the following:
>
> (hmm, i'm trying to remember the exact order :)
>
> as root:
> mmount --bind -o user=500 /home/hallyn/etc/ /home/hallyn/etc/
> mount --bind /mnt /mnt
> mount --make-rshared /mnt
> mount --bind /dev /mnt/dev
>
> as hallyn:
> mmount --bind /mnt /home/hallyn/etc/mnt
> /usr/src/mmount-0.3/mmount --bind mnt/dev mnt/src
You are using relative directory names here which makes it confusing.
I'm assuming you in /home/hallyn/etc ?
>
> Now /mnt/src contained /dev.
>
> Is this what we want?
I don't think so.
I think the simplest answer is to not allow mounting of shared
subtrees controlled by a different user.
Serge I think you are right downgrading the mount from shared to slave
looks like the sane thing to do if the mount owners match.
> Do we want to tell the admin it's his fault for
> not somehow forcing a slave relationship between /mnt and
> /home/hallyn/etc/mnt? Except I don't think he can do that preemptively,
> it has to be done after hallyn does the mmount.
>
> So does that mean that if non-root user X does:
>
> mount a b
>
> where b is user=X but a is not, then if a is shared we should force it
> to be mounted as slave at b?
>
> -serge
next prev parent reply other threads:[~2008-08-08 0:13 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-07 12:05 unprivileged mounts git tree Miklos Szeredi
2008-08-07 22:27 ` Serge E. Hallyn
2008-08-08 0:07 ` Eric W. Biederman [this message]
2008-08-08 0:25 ` Serge E. Hallyn
2008-08-25 11:01 ` Miklos Szeredi
2008-08-27 15:36 ` Serge E. Hallyn
2008-08-27 15:55 ` Miklos Szeredi
2008-08-27 18:46 ` Serge E. Hallyn
2008-09-03 18:45 ` Miklos Szeredi
2008-09-03 21:54 ` Serge E. Hallyn
2008-09-03 22:02 ` Serge E. Hallyn
2008-09-03 22:25 ` Miklos Szeredi
2008-09-03 22:43 ` Serge E. Hallyn
2008-09-04 6:42 ` Miklos Szeredi
2008-09-04 13:28 ` Serge E. Hallyn
2008-09-04 14:06 ` Miklos Szeredi
2008-09-04 15:40 ` Miklos Szeredi
2008-09-04 16:17 ` Serge E. Hallyn
2008-09-04 17:42 ` Miklos Szeredi
2008-09-04 17:48 ` Serge E. Hallyn
2008-09-04 18:03 ` Miklos Szeredi
2008-09-04 18:49 ` Serge E. Hallyn
2008-09-04 22:26 ` Miklos Szeredi
2008-09-04 23:32 ` Serge E. Hallyn
2008-09-05 15:31 ` Serge E. Hallyn
2008-09-09 13:34 ` Miklos Szeredi
2008-09-11 10:37 ` Eric W. Biederman
2008-09-11 14:43 ` Miklos Szeredi
2008-09-11 15:20 ` Serge E. Hallyn
2008-09-11 15:44 ` Miklos Szeredi
2008-09-11 18:54 ` Eric W. Biederman
2008-09-12 22:08 ` Serge E. Hallyn
2008-09-13 3:12 ` Eric W. Biederman
2008-09-14 1:56 ` Serge E. Hallyn
2008-09-14 3:06 ` Eric W. Biederman
2008-09-30 19:39 ` Serge E. Hallyn
2008-10-06 11:05 ` Miklos Szeredi
2008-09-11 19:04 ` Eric W. Biederman
2008-09-11 19:58 ` 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=m1prokgyje.fsf@frodo.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=akpm@linux-foundation.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=serue@us.ibm.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