public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: akpm@linux-foundation.org, serue@us.ibm.com,
	viro@ftp.linux.org.uk, linuxram@us.ibm.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	containers@lists.osdl.org
Subject: Re: [patch 8/8] allow unprivileged fuse mounts
Date: Sat, 21 Apr 2007 08:18:47 -0600	[thread overview]
Message-ID: <m17is5kdyw.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20070420102656.364689151@szeredi.hu> (Miklos Szeredi's message of "Fri, 20 Apr 2007 12:25:40 +0200")

Miklos Szeredi <miklos@szeredi.hu> writes:

> From: Miklos Szeredi <mszeredi@suse.cz>
>
> Use FS_SAFE for "fuse" fs type, but not for "fuseblk".
>
> FUSE was designed from the beginning to be safe for unprivileged
> users.  This has also been verified in practice over many years.  In
> addition unprivileged mounts require the parent mount to be owned by
> the user, which is more strict than the current userspace policy.
>
> This will enable future installations to remove the suid-root
> fusermount utility.
>
> Don't require the "user_id=" and "group_id=" options for unprivileged
> mounts, but if they are present, verify them for sanity.
>
> Disallow the "allow_other" option for unprivileged mounts.
>
> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
> ---
>
> Index: linux/fs/fuse/inode.c
> ===================================================================
> --- linux.orig/fs/fuse/inode.c	2007-04-20 11:55:01.000000000 +0200
> +++ linux/fs/fuse/inode.c	2007-04-20 11:55:14.000000000 +0200
> @@ -311,6 +311,19 @@ static int parse_fuse_opt(char *opt, str
>  	d->max_read = ~0;
>  	d->blksize = 512;
>  
> +	/*
> +	 * For unprivileged mounts use current uid/gid.  Still allow
> +	 * "user_id" and "group_id" options for compatibility, but
> +	 * only if they match these values.
> +	 */
> +	if (!capable(CAP_SYS_ADMIN)) {
> +		d->user_id = current->uid;
> +		d->user_id_present = 1;
> +		d->group_id = current->gid;
> +		d->group_id_present = 1;
> +
> +	}

CAP_SETUID is the appropriate capability...

This is not a dimension we have not fully explored.
What is the problem with a user controlled mount having different
uid and gid values.

Yes they map into different users but how is this a problem.
The only problem that I can recall is the historic chown problem
where you could give files to other users and mess up their quotas.

Or is the problem other users writing to this user controlled
filesystem?

Eric

  parent reply	other threads:[~2007-04-21 14:20 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-20 10:25 [patch 0/8] mount ownership and unprivileged mount syscall (v4) Miklos Szeredi
2007-04-20 10:25 ` [patch 1/8] add user mounts to the kernel Miklos Szeredi
2007-04-21  7:55   ` Andrew Morton
2007-04-21  8:06     ` Miklos Szeredi
2007-04-21 13:14   ` Eric W. Biederman
2007-04-22  7:02     ` Miklos Szeredi
2007-04-22  7:43       ` Eric W. Biederman
2007-04-22  8:05         ` Miklos Szeredi
2007-04-22 16:22         ` Miklos Szeredi
2007-04-20 10:25 ` [patch 2/8] allow unprivileged umount Miklos Szeredi
2007-04-21  7:55   ` Andrew Morton
2007-04-21  8:01     ` H. Peter Anvin
2007-04-21  8:09     ` Miklos Szeredi
2007-04-21  8:36       ` Andrew Morton
2007-04-21 12:53         ` Eric W. Biederman
2007-04-22  6:47           ` Miklos Szeredi
2007-04-22  7:09             ` Eric W. Biederman
2007-04-22  7:32               ` Miklos Szeredi
2007-04-21 13:29   ` Eric W. Biederman
2007-04-22  7:05     ` Miklos Szeredi
2007-04-20 10:25 ` [patch 3/8] account user mounts Miklos Szeredi
2007-04-21  7:55   ` Andrew Morton
2007-04-21 13:37   ` Eric W. Biederman
2007-04-22  7:10     ` Miklos Szeredi
2007-04-22  7:49       ` Eric W. Biederman
2007-04-22  8:08         ` Miklos Szeredi
2007-04-20 10:25 ` [patch 4/8] propagate error values from clone_mnt Miklos Szeredi
2007-04-21 13:40   ` Eric W. Biederman
2007-04-20 10:25 ` [patch 5/8] allow unprivileged bind mounts Miklos Szeredi
2007-04-21 14:00   ` Eric W. Biederman
2007-04-22  7:19     ` Miklos Szeredi
2007-04-20 10:25 ` [patch 6/8] put declaration of put_filesystem() in fs.h Miklos Szeredi
2007-04-20 10:25 ` [patch 7/8] allow unprivileged mounts Miklos Szeredi
2007-04-21  7:55   ` Andrew Morton
2007-04-21  8:13     ` Miklos Szeredi
2007-04-21  8:23       ` Miklos Szeredi
2007-04-21 14:10     ` Eric W. Biederman
2007-04-21 15:43       ` Jan Engelhardt
2007-04-21 16:57         ` Eric W. Biederman
2007-04-21 17:10           ` Jan Engelhardt
2007-04-21 21:00             ` Eric W. Biederman
2007-04-22  8:19               ` Miklos Szeredi
2007-04-21 22:06     ` Andi Kleen
2007-04-21 21:33       ` Eric W. Biederman
2007-04-22  0:46     ` Shaya Potter
2007-04-20 10:25 ` [patch 8/8] allow unprivileged fuse mounts Miklos Szeredi
2007-04-21  7:55   ` Andrew Morton
2007-04-21  8:16     ` Miklos Szeredi
2007-04-21 14:18   ` Eric W. Biederman [this message]
2007-04-22  7:22     ` Miklos Szeredi
2007-04-20 12:42 ` [patch 0/8] mount ownership and unprivileged mount syscall (v4) Serge E. Hallyn
2007-04-20 16:33   ` Eric W. Biederman
2007-04-21  8:30 ` Majkls
2007-04-21  8:35   ` Miklos Szeredi
2007-04-25  0:04 ` Karel Zak
2007-04-25  1:04   ` Eric W. Biederman
2007-04-25  7:18   ` Miklos Szeredi
2007-04-25  9:23     ` Karel Zak
  -- strict thread matches above, loose matches on Subject: below --
2007-04-04 18:30 [patch 0/8] unprivileged mount syscall Miklos Szeredi
2007-04-04 18:30 ` [patch 8/8] allow unprivileged fuse mounts Miklos Szeredi

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=m17is5kdyw.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=containers@lists.osdl.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxram@us.ibm.com \
    --cc=miklos@szeredi.hu \
    --cc=serue@us.ibm.com \
    --cc=viro@ftp.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