All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank van Maarseveen <frankvm@frankvm.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: frankvm@frankvm.com, akpm@osdl.org, aia21@cam.ac.uk,
	arjan@infradead.org, linux-kernel@vger.kernel.org
Subject: Re: FUSE merging?
Date: Sun, 3 Jul 2005 13:25:41 +0200	[thread overview]
Message-ID: <20050703112541.GA32288@janus> (raw)
In-Reply-To: <E1DoxmP-0004gV-00@dorka.pomaz.szeredi.hu>

On Sun, Jul 03, 2005 at 08:16:37AM +0200, Miklos Szeredi wrote:
> > After some thinking, the whole "not allowing namespace differences
> > based on user id" philosophy is unenforcable and not even true sometimes
> > nowadays. Think NFS: have a look at the unfsd server, you'll be surprised
> > what it can do. Think any other networked file system exported by a
> > machine with an unusual disk file-system underneath. IIRC ncpfs does
> > this on the server based on access and thus based on uid.
> 
> Hmm, do you mean returning different directory contents based on uid?

	http://clusternfs.sourceforge.net

Don't ask me how this plays with the dcache.

> > The thing is, root rules the _local_ part of the name space. So it should
> > make a _huge_ difference if FUSE can fiddle with that or only with what's
> > below the leaf nodes.
> 
> I don't really understand what you mean by "local".

The opposite of "local" is "remote", i.e. networked filesystems:

	mount foo:/bar /usr/src/bar

/, /usr and /usr/src are stored on a local disk. /usr/src/bar/* is not.
Namespace invariance can be guaranteed for the "/usr/src" part. Not for
anything below unless you control the peer.

> 
> The problem with this leaf node philosophy, is that it's not really
> consistent.  You can ensure that a mountpoint is a leaf node at mount
> time, but you cannot force it to remain a leaf node after the mount.  So
                   ^^^
                 inserted by me

ok, I just remembered that any process with an open directory handle
could still fchdir() underneath. I think the leaf node enforcing is
possible but it is indeed a bit more complicated.

(Hmm, it's a bit bizarre but could you mount FUSE on, for example, a
 named pipe and change it into a directory?)

> I don't see why this check at mount time would make _any_ difference.

It should be possible to do audits on local filesystems, e.g. by:

	find / /home /var -xdev ....

This can be done as root but sometimes you may want to do this with the
uid/gid of a specific user, for safety or for checking what the user
actually can access or damage. And that won't work as expected when the
user places a FUSE mount on top of his own login directory. But I don't
think leaf node enforcing is required from a security point of view. This
is the only thing I could come up with.

IMHO The namespace argument against FUSE is weak for multiple reasons. The
only variancy I see is when crossing the mount point. And that disappears
once EACCES is returned when non-ptraceable processes try to cross it.
But that's not really acceptable (see previous audit case) unless FUSE
refuses to mount on non-leaf dirs.

-- 
Frank

  reply	other threads:[~2005-07-03 11:25 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-30  9:19 FUSE merging? Miklos Szeredi
2005-06-30  9:27 ` Andrew Morton
2005-06-30  9:51   ` Miklos Szeredi
2005-06-30 10:00     ` Arjan van de Ven
2005-06-30 10:12       ` Miklos Szeredi
2005-06-30 10:20         ` Arjan van de Ven
2005-06-30 10:24           ` Miklos Szeredi
2005-06-30 19:39             ` Avuton Olrich
2005-07-01  6:23               ` Miklos Szeredi
2005-06-30 11:13           ` Anton Altaparmakov
2005-06-30 19:46             ` Andrew Morton
2005-06-30 20:00               ` Andrew Morton
2005-07-01  6:40                 ` Miklos Szeredi
2005-06-30 22:28               ` Frank van Maarseveen
2005-07-01  6:58                 ` Miklos Szeredi
2005-07-01  9:24                   ` Frank van Maarseveen
2005-07-01 10:27                     ` Miklos Szeredi
2005-07-01 12:00                       ` Frank van Maarseveen
2005-07-01 12:36                         ` Miklos Szeredi
2005-07-01 13:05                           ` Frank van Maarseveen
2005-07-01 13:21                             ` Miklos Szeredi
2005-07-01 15:20                               ` Frank van Maarseveen
2005-07-01 17:04                                 ` Miklos Szeredi
2005-07-01 18:04                                   ` Frank van Maarseveen
2005-07-01 19:35                                     ` Jeremy Maitin-Shepard
2005-07-02 14:49                                     ` Miklos Szeredi
2005-07-02 16:00                                       ` Frank van Maarseveen
2005-07-03  6:16                                         ` Miklos Szeredi
2005-07-03 11:25                                           ` Frank van Maarseveen [this message]
2005-07-03 13:24                                             ` Miklos Szeredi
2005-07-03 13:50                                               ` Frank van Maarseveen
2005-07-03 14:03                                                 ` Miklos Szeredi
2005-07-03 14:10                                               ` FUSE merging? (2) Frank van Maarseveen
2005-07-03 15:47                                                 ` Miklos Szeredi
2005-07-03 19:36                                                   ` Frank van Maarseveen
2005-07-04  8:56                                                     ` Miklos Szeredi
2005-07-04  9:59                                                       ` Frank van Maarseveen
2005-07-04 10:27                                                         ` Miklos Szeredi
2005-07-04 11:26                                                           ` Frank van Maarseveen
2005-07-01  6:36               ` FUSE merging? Miklos Szeredi
2005-07-01  6:50                 ` Andrew Morton
2005-07-01  7:07                   ` Miklos Szeredi
2005-07-01  7:14                     ` Andrew Morton
2005-07-01  7:27                       ` Miles Bader
2005-07-01  7:38                       ` Miklos Szeredi
2005-07-01  8:02                         ` Andrew Morton
2005-07-01 10:11                           ` Miklos Szeredi
2005-07-01 11:29                             ` Andrew Morton
2005-07-01 12:00                               ` Miklos Szeredi
2005-07-01 12:53                               ` Anton Altaparmakov
2005-07-01 13:07                                 ` Anton Altaparmakov
2005-07-01 13:51                                 ` Frank van Maarseveen
2005-07-01 13:29                               ` Eric Van Hensbergen
2005-07-01 16:45                               ` Matthias Urlichs
2005-07-01 12:08                             ` Frank van Maarseveen
2005-07-01 13:21                             ` Eric Van Hensbergen
2005-07-01 13:53                               ` Miklos Szeredi
2005-07-01 14:18                                 ` Eric Van Hensbergen
2005-07-01 14:31                                   ` Miklos Szeredi
2005-07-02 10:01                                     ` Eric W. Biederman
2005-07-02 14:58                                       ` Miklos Szeredi
2005-07-02 16:43                                       ` Eric Van Hensbergen
2005-07-02 17:33                                         ` Eric W. Biederman
2005-07-03 19:39                           ` Pavel Machek
2005-07-04  8:38                             ` Miklos Szeredi
     [not found]                               ` <20050704084900.GG15370@elf.ucw.cz>
2005-07-04  9:02                                 ` Miklos Szeredi
2005-07-04 10:46                                   ` Pekka Enberg
2005-07-01 12:37                   ` bert hubert
2005-07-01  7:46                 ` Frederik Deweerdt
2005-07-01  9:47                   ` Miklos Szeredi
2005-07-01  9:36                 ` Frank van Maarseveen
2005-07-01 10:45                   ` Miklos Szeredi
2005-07-01 11:34                     ` Frank van Maarseveen
2005-06-30 10:16       ` Miklos Szeredi
2005-06-30 16:30         ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2005-09-02 22:02 Miklos Szeredi
2005-09-02 22:34 ` Andrew Morton
2005-09-03  0:34   ` Kasper Sandberg
2005-09-03  5:31   ` Miklos Szeredi
2005-09-03  6:40     ` Andrew Morton
2005-09-03  7:23       ` Miklos Szeredi
2005-09-03 13:29     ` Eric Van Hensbergen
2005-09-03 14:20       ` Miklos Szeredi
2005-09-03 15:01         ` Eric Van Hensbergen
2005-09-03 15:38           ` 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=20050703112541.GA32288@janus \
    --to=frankvm@frankvm.com \
    --cc=aia21@cam.ac.uk \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    /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.