linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "'J. Bruce Fields'" <bfields@fieldses.org>
To: Spencer Shepler <spencer.shepler@gmail.com>
Cc: "'Trond Myklebust'" <Trond.Myklebust@netapp.com>,
	"'Thomas Haynes'" <thomas@netapp.com>,
	"'Spelic'" <spelic@shiftmail.org>,
	linux-nfs@vger.kernel.org
Subject: Re: NFSv4 behaviour on unknown users
Date: Tue, 7 Dec 2010 19:15:48 -0500	[thread overview]
Message-ID: <20101208001548.GA30196@fieldses.org> (raw)
In-Reply-To: <03e401cb9278$ad554ad0$07ffe070$@gmail.com>

On Thu, Dec 02, 2010 at 03:28:48PM -0800, Spencer Shepler wrote:
> 
> 
> > -----Original Message-----
> > From: linux-nfs-owner@vger.kernel.org [mailto:linux-nfs-
> > owner@vger.kernel.org] On Behalf Of Trond Myklebust
> > Sent: Thursday, December 02, 2010 3:18 PM
> > To: Thomas Haynes
> > Cc: J. Bruce Fields; Spelic; linux-nfs@vger.kernel.org
> > Subject: Re: NFSv4 behaviour on unknown users
> > 
> > On Thu, 2010-12-02 at 17:10 -0600, Thomas Haynes wrote:
> > > On Dec 1, 2010, at 10:29 AM, J. Bruce Fields wrote:
> > >
> > > > On Tue, Nov 30, 2010 at 10:10:02PM -0500, Trond Myklebust wrote:
> > > >>
> > > >> I think you need to take beepy's words in context here: as I
> > > >> believe I mentioned previously, RFC3530 (and its predecessor
> > > >> RFC3010) assumed everyone would be using principals for
> > > >> authenticating, either through RPCSEC_GSS w/ krb5, or through the
> > > >> SPKM/Lipkey mechanism. So sure was everyone of this, that AUTH_SYS
> > > >> isn't even mentioned as a valid authentication mechanism, and so
> > > >> nobody had to worry about the consequences of using it.
> > > >
> > > > I also wonder whether the value of a transparent upgrade from NFSv3
> > > > got a little lost.
> > > >
> > > > To me that seems like the first requirement for version n+1 of
> > > > anything--that we should be able to upgrade people to version n
> > > > without their noticing.
> > > >
> > > > Maybe there are features that are necessarily incompatible, and that
> > > > merit the downside, but the downside--losing the chance to get new
> > > > features to every user automatically--seems significant to me.
> > > >
> > > >
> > > > And, perhaps it's a disease, but I have gotten into the habit of
> > > > thinking of the (krb5 principal)->(id, gid's) mapping as independent
> > > > of the (NFSv4 user name)<->(uid) and (NFSv4 group name)<->(gid)
> > mappings.
> > > >
> > > > Granted they have to be coordinated on any reasonably complicated
> > setup.
> > > > But there are simple cases where they don't necessarily need to be.
> > > >
> > > > E.g. on a dumb "cp -ax / /nfs" backup it doesn't really matter "who"
> > > > does the backup as long as they have sufficient permissions, since
> > > > the files will all be explicitly chown'd as they're created.  And
> > > > with krb5 it's simple enough to make that work with a single static
> > > > mapping from a client-side principal to root on the server.
> > > >
> > > > And, again, that's something that works now with NFSv3.
> > > >
> > > > --b.
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe linux-nfs"
> > > > in the body of a message to majordomo@vger.kernel.org More majordomo
> > > > info at  http://vger.kernel.org/majordomo-info.html
> > >
> > >
> > > Another question is whether or not such an approach would be
> > > appreciated as part of 3530bis?
> > 
> > You want to add a discussion about AUTH_SYS support for 3530bis? I'd be OK
> > with that...
> 
> What would the substance of such a discussion?
> 
> The NFSv4 RFCs do not preclude the use of a variety of RPC authentication types.
> It asks that implementations treat the RPCSEC_GSS framework and the Kerberos
> and lipkey types as mandatory to implement.
> 
> Given that the user of NFSv4 is not forced to use these or other authentication
> methods, does the discussion reside in the interaction with these various
> authentication types and their impact on the content of communicated attributes?
> 
> In any case, I would suggest a treatment of these issues be captured in a
> separate I-D and ultimately a separate RFC to allow for expediency of
> publication and application to NFSv4.0 and NFSv4.1.

The v3->v4 upgrade would be dead-simple if the default (without *any*
idmapping configuration) was to send and receive purely numeric id's.

A client that attempts that with a server that has normal NFSv4
name-mapping set up will see "nobody" on any "ls" and get BADOWNER on
any attempt to set anything, but that's more or less the typical
experience right now, and as a default if anything numeric id's seems
safer than guessing a domain and assuming local account names map into
it.

And as soon as some form of idmapping is set up (even if it's just
setting a default domain, effectively just a declaration that any local
account <user> is also an nfsv4 user <user>@<domain>), things work
normally.

I don't see any of this as a violation of the spec, which allows use of
numeric id's in the absence of a "valid translation" for a user or
group.

And the mere existance of a local account with a certain name doesn't
imply the existance of a valid translation into any nfsv4 namespace.

So if that makes sense, then I don't think any change to rfc 3530
section 5.8 is required beyond possibly some clarification or change in
emphasis.

(I see AUTH_SYS as a different issue.  It's unfortunately true that
AUTH_SYS has effectively turned out to be required-to-implement even if
it wasn't meant to be, so maybe the spec's out of line with reality
there; but I haven't heard of that causing any practical
problems--whereas "why does ls show all users as nobody after an upgrade
to NFSv4" is a FAQ.)

--b.

  reply	other threads:[~2010-12-08  0:15 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-29 18:12 NFSv4 behaviour on unknown users Spelic
2010-11-29 18:22 ` Trond Myklebust
2010-11-29 18:38   ` Spelic
2010-11-29 19:01     ` J. Bruce Fields
2010-11-29 19:09       ` Trond Myklebust
2010-11-30 15:36         ` Steve Dickson
2010-11-30 22:19           ` Trond Myklebust
2010-11-30 22:26             ` J. Bruce Fields
2010-11-30 22:33               ` Trond Myklebust
2010-11-30 22:36                 ` J. Bruce Fields
2010-11-30 22:47                   ` Trond Myklebust
2010-12-01  2:57                   ` Neil Brown
2010-12-01  3:10                     ` Trond Myklebust
2010-12-01  3:23                       ` Neil Brown
2010-12-01 16:29                       ` J. Bruce Fields
2010-12-02 23:10                         ` Thomas Haynes
2010-12-02 23:18                           ` Trond Myklebust
2010-12-02 23:28                             ` Spencer Shepler
2010-12-08  0:15                               ` 'J. Bruce Fields' [this message]
2010-12-10 19:00                                 ` Thomas Haynes
2010-12-10 19:17                                   ` J. Bruce Fields
2010-11-29 22:09   ` Daniel.Muntz
2010-11-29 22:57     ` Spencer Shepler
2010-11-29 23:16       ` Trond Myklebust
2010-11-29 23:25         ` Spencer Shepler
2010-11-29 23:26         ` Trond Myklebust
2010-11-29 23:30           ` Spencer Shepler
2010-11-29 23:40             ` Trond Myklebust
2010-11-30  0:02               ` Spencer Shepler
2010-11-30 11:44                 ` Spelic
2010-11-30 13:04                   ` Trond Myklebust
2010-11-30 15:48                     ` Boaz Harrosh
2010-11-29 23:34       ` Daniel.Muntz
2010-11-29 23:36         ` Spencer Shepler
  -- strict thread matches above, loose matches on Subject: below --
2010-11-29 17:32 Spelic
2010-11-29 19:50 ` Simon Kirby
2010-11-29 22:47   ` Spelic
2010-11-30 15:20     ` Chuck Lever

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=20101208001548.GA30196@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=Trond.Myklebust@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=spelic@shiftmail.org \
    --cc=spencer.shepler@gmail.com \
    --cc=thomas@netapp.com \
    /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;
as well as URLs for NNTP newsgroup(s).