24

I have two identical linux machines (identical images launched in amazon EC2) and I am trying to mount an exported directory over NFSv4. Here is what the mounted directory looks like on the client machine:

root@server:~# ls -l /websites/
drwxr-xr-x  6 4294967294 4294967294   92 2010-01-01 20:21 logs
drwxr-xr-x  2 4294967294 4294967294   20 2009-12-23 01:14 monit.d
...

I double checked to make sure that the UIDs were matching

Here is the mount command I run from the client

/sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async

And here is the /etc/exports entry on the server machine:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)
1
  • is rpcidmapd service running? start them using commands. /etc/init.d/rpcidmapd restart chkconfig rpcidmapd on
    – user124404
    Jun 12, 2012 at 14:13

5 Answers 5

9

read here http://blather.michaelwlucas.com/archives/796

If the NFSv4 client and server domain names doesn’t match,all the usernames will show up as “nobody.”

  1. edit /etc/idmapd.conf and set Domain on server and client to the "localdomain"

    [General]

    Domain = localdomain

    [Translation]

    Method = nsswitch

  2. change the /etc/default/nfs-common file (on both your server and client): set NEED_IDMAPD= yes

  3. start idmapd service

1
  • For me this answer solved the issue I had (after "idmapd" had crashed for som ereason).
    – Henk
    Nov 19, 2014 at 19:51
8

As explained in UID /GID with NFS and ZFS, NFSv4 doesn't use UIDs. I was having a similar problem and was able to work around it by using NFSv3. This just entails adding -o vers=3 to the mount command. Of course, if you do need to use NFSv4 this response won't be of much use to you.

7

This is a user id mapping problem. For some reason the system is using the "nobody" account instead of the true account ids. Check your squashing options and your idmapd.conf file.

Here is a thread I found that discusses the problem, this links to the post of interest, http://www.mail-archive.com/[email protected]/msg03303.html.

FYI, 4294967294 is -2, if treated as a 32-bit signed integer. -1 or -2 are used on various Linux distros for the nobody UID and nogroup GID (in the passwd file the highest 16 bit unsigned number, 65535, is generally used).

1
  • Thanks for the response, David. Per my post, I have no_root_squash enabled. Do you have any more info about the idmapd.conf file?
    – jberryman
    Jan 2, 2010 at 0:14
3

You need to change the /etc/default/nfs-common file (on both your server and client): set NEED_IDMAPD to yes.

At least this helped for me.

2

We are using the NFS options anonuid and anongid to set the user/group IDs the server will use for files created by anonymous. If these are not set, "nobody" and "nogroup" will be used - which may vary depending on OS version and distribution. So a

/websites 10.0.0.0/8 
    (fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

may to the trick (with 1001 being a valid and usable UID/GID on your server).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .