Subject: Re: NFS
To: John R. Daily <jdaily@bbn.com>
From: Frank van der Linden <frank@wins.uva.nl>
List: netbsd-help
Date: 06/10/1997 12:58:36
Quoting John R. Daily,

> Here is the entry from /etc/exports on the server end:
> /usr -maproot=root

> (I've also had the -alldirs argument present, with no
> difference in behavior. I removed a netgroup argument
> to narrow possible points of failure)

Hm, in this case you should need -alldirs. If not, that's
really a bug.

> And /etc/fstab on the client:
> <server>:/usr/local /usr/local nfs rw,soft,intr,bg,auto 0 0

> I can successfully mount /usr/local, and if user-owned
> directories exist, I can create and modify files within
> those directories.

> However, as root on the client, I cannot create new files
> under /usr/local. I was under the impression this was the
> point of the -maproot argument.

Could you perhaps make a world-writeable directory on the server,
create a file as root on the client there, and tell me which
uid/gid it has?

> The end result is always "permission denied"; more on this
> later.

> Unfortunately, I've been unable to get any information out
> of ktrace on the nfsds running on the server; I read
> somewhere that nfsd is simply a non-returning system call
> to the kernel, which may explain why.

This is true. Tracing an nfsd won't give you any information.

> When running snoop under Solaris, I get what may be the
> reason for the failure. Here is the output:

[...]

> Note that while in the RPC header, the UID is specified,
> under the NFS header, it is not. Perhaps this is irrelevant.

The server should get the credentials from the RPC, so the fact
that they're not filled in in the NFS header doesn't matter.

Ok, obvious try: did you kick the mountd after you changed the
exports file (kill -1 `cat /var/run/mountd.pid`)?

- Frank