nfs, idmapd "nobody" problem

Hello,

We have the following setup:

  • an opensuse 12.2 server machine running nis and nfsserver
  • a lot of opensuse 11.4 client machines also running nfsserver
  • a few opensuse 12.2 client machines (with nfsserver)

All machines can mount each other using autofs. The problem occurs
when an 11.4 machine is nfs-mounting a directory from a 12.2 machine.
What happens is the common nobody problem where a users name
and group becomes “nobody nobody”.

It works well the other way around, namely if a 12.2 machine nfs-mounting a
directory of a 11.4 machine. 11.4 -> 11.4 and 12.2 -> 12.2 works naturally.

All machines have identical /etc/idmapd.conf files! One can see the problem
occurring in the idmapd log files:

Here I’m (auto) mounting a 12.2 directory from a 11.4 machine

st02:~ # ls -l /home/bob
total 24
drwx------ 2 nobody nobody 16384 Jan 16 16:03 lost+found
drwxr-xr-x 161 nobody nobody 8192 Jan 24 17:13 mattias

Some log info:
Jan 24 21:49:24 st02 rpc.idmapd[17968]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jan 24 21:49:24 st02 rpc.idmapd[17968]: nss_getpwnam: name ‘1014’ domain ‘localdomain’: resulting localname ‘(null)’
Jan 24 21:49:24 st02 rpc.idmapd[17968]: nss_getpwnam: name ‘1014’ does not map into domain ‘localdomain’
Jan 24 21:49:24 st02 rpc.idmapd[17968]: nfs4_name_to_uid: nsswitch->name_to_uid returned -22
Jan 24 21:49:24 st02 rpc.idmapd[17968]: nfs4_name_to_uid: final return value is -22
Jan 24 21:49:24 st02 rpc.idmapd[17968]: Client 4c58: (user) name “1014” -> id “65534”

The ‘1014’ is the userid of the user. Can it perhaps be a nis problem?

Now (auto) mounting a 11.4 directory from the same 11.4 client machine

st02:~ # ls -l /home/beckett
total 28
drwx------ 2 root root 16384 Feb 19 2007 lost+found
drwxr-x— 10 ster users 4096 Sep 18 18:17 ster

Jan 24 21:53:51 st02 rpc.idmapd[17968]: nfs4_name_to_uid: calling nsswitch->name_to_uid
Jan 24 21:53:51 st02 rpc.idmapd[17968]: nss_getpwnam: name ‘ster@localdomain’ domain ‘localdomain’: resulting localname ‘ster’
Jan 24 21:53:51 st02 rpc.idmapd[17968]: nfs4_name_to_uid: nsswitch->name_to_uid returned 0
Jan 24 21:53:51 st02 rpc.idmapd[17968]: nfs4_name_to_uid: final return value is 0
Jan 24 21:53:51 st02 rpc.idmapd[17968]: Client 4c5c: (user) name “ster@localdomain” -> id “2007”

Here it works as it should!

To see if it was a problem with different versions of “relevant” packages I have upgraded
nfs-kernel-server, nfsidmap, autofs and ypbind on the 11.4 machine to match the versions
on the 12.2 machines, but the problem remains.

Any suggestions?

Hi, welcome.

AFAICT these two issues are different problems. When starting a thread, please stick to one issue. And, please post output between CODE tags (the # in the editor)

IIRC you’d better use NFS version 3 when connecting 11.4 clients. Try unchecking the NFS4 option on the server side, then connecting an 11.4 client.

Sorry about the CODE tags, I’ll improve!

I only have one issue, namely the nobody problem, nevertheless thanks for
the hint about running NFS3 on the server. I will start to experiment…

That solved it!

On all 11.4 machines I edited /etc/nfsmount.conf and
put “Nfsvers=3”. Now everything works again.

Thanks!