NFSv4 details and documentations
Slawa Olhovchenkov
slw at zxy.spb.ru
Tue Dec 1 13:53:18 UTC 2015
On Tue, Dec 01, 2015 at 08:41:46AM -0500, Rick Macklem wrote:
> > > (Note that "host" here implies that the principal for the host-based
> > > credential is
> > > "host@<client-host>.<domain>". --> What is after the "=" above is what is
> > > before the
> > > "@" in the host based principal name.)
> > > Then system operations are done as nobody, but users are done as that user
> > > (they need
> >
> > This is strange. I am mount (by automount) as:
> >
> > /NFS -nfsv4,intr,soft,sec=krb5i,gssname=host storage01:/
> >
> I'd recommend that you never use "intr" or "soft" on NFSv4 mounts.
> (It's somewhere in a man page and basically if you use these and an
> RPC that does locking times out, you break the locking horribly.)
W/o "intr" and "soft" I can got staled mount and process (till
reboot). This is prodaction servers and this is unacceptable. Correct
locking for me least important, as last resort I am do `umount -f`
> Also, I never use automount. I'd suggest you try the mount command
> typed manually and then once you have it working, then try the automount
> and see if it works.
I am debuging this manualy, yes.
> > in rc.conf:
> > gssd_enable="YES"
> > gssd_flags="-h"
> >
> On the client, this looks correct.
>
> > In this case, I am can't login to user with $HOME on this NFS --
> > root (sshd run as root and PAM accounting run as root -- check
> > .k5login and etc) totaly don't have access (10016).
> >
> This means that the client fell back to AUTH_SYS and the server
> doesn't accept that.
>
> Getting a home directory to work is harder than it should be and I
> don't even know how to make it work, because I haven't done it.
> The login must do a "kinit" so the user has access to the volume
> and I don't know how to set FreeBSD up to do the kinit as a part of
> the login. It also must be done early enough in the login, so that
> it happens before any access to the home dir is attempted.
> (To be honest, unless there is a way to do this in FreeBSD, you
> can forget about Kerberized NFS mounts for home dirs.)
First access to home directory do as root, not as user.
After root access ticket created in /tmp/krb5cc_UID and home
succesuful accesed.
> I would start by testing a mount that isn't a home directory, so you
> can log into the machine (home dir not Kerberized NFS mounted) and
> then the user can "kinit" and them "cd /kerberized/mount" and see
> if it works.
> --> Once that works, I don't know how to do the rest.
> (I'm an NFS guy, not a Kerberos one.;-)
>
> Also, I don't know what effect having sshd etc running as root will
> be, since they will then be seen as running by "nobody" on the server.
As last resort I can export with -maproot=root.
> > I am avoid this by "kinit -k host/`hostname`" in crontab and startup
> > script, but may be gssd is best for this functionality?
> >
> Shouldn't matter. "gssd -h" does exactly the same stuff as "kinit -k".
> (I wrote the code essentially cloning what "kinit -k" did.)
For mount only, not for root access from sshd, as I see.
More information about the freebsd-hackers
mailing list