Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

It is a bit embarrassing to admit, but I have problems getting my NFS server exporting the right directories. I am using an up-to-date CentOS 6.2 on both the client and the server.

The server is up and running, the firewall was disabled during the tests.

On the server side I have created this /etc/exports:

/home/user1/documents/   *(ro,sync)

this directory is the root of a volume of a software raid. mount output as follows:

/dev/mapper/lvm--raid-lvol0 on /home/user1/documents type ext4 (rw,nosuid,nodev)

the command showmount -e on the server shows the correct output:

Export list for servername:
/home/user1/documents (everyone)

I try to mount that share from the client and get the following output:

mount.nfs: access denied by server while mounting servername:/home/user1/documents

However when I look afterwards on the server at the file /proc/fs/nfsd/exports I see more than one mountpoint, but not the right one

# Version 1.2
# Path Client(Flags) # IPs
/       *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home   *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home/user1     *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)

Where do these entries come from and why is there no line starting with /home/user1/documents ? I tried mounting /home/user1 instead of /home/user1/documents from the client and this strangely works.

The UIDs of the user are the same on the server and the client. Could it be a problem that the directory to be exported is mounted itself?

Edit

The file /var/lib/nfs/xtab is empty.

share|improve this question
    
For completeness (if the problem still exists) what does /var/lib/nfs/[ex]tab contain? –  Dmitri Chubarov May 1 '12 at 3:14
    
This file is empty (I updated my question). The problem still exists. –  GorillaPatch May 2 '12 at 12:26
    
Have you tried mounting without the trailing slash? "/home/user1/documents" instead of "/home/user1/documents/". Also I have never used "*" before, so can't validate that; try using the ip address also. Also, try -v when mounting on the client side. And are there any more routers/firewalls involved between the 2 systmes? Is there a NAT in use (a NAT would cause this due to using an unprivileged port, which should show up if you use -v)? –  Peter May 2 '12 at 12:41
    
@GorillaPatch is /var/lib/nfs/etab also empty ? –  Dmitri Chubarov May 2 '12 at 12:55
    
@GorillaPatch: Is this /home/user1/documents/ *(ro,sync) the only content at your /etc/exports? –  Janne Pikkarainen May 2 '12 at 13:33
show 2 more comments

1 Answer

up vote 2 down vote accepted

I see you are using NFSv4 (the fsid=0 in the /proc/fs/nfsd/exports output gives it away). NFS roots are rquired for NFSv4. You may have better luck with this /etc/exports.

/home                    *(ro,fsid=0)
/home/user1/documents/   *(ro,sync)

You might also need to edit the domain in /etc/idmapd.conf for the server and clients.

On a side note, I highly recommend replacing that asterisk with a subnet if you don't want your data accessable to untrusted systems.

share|improve this answer
    
Thanks for your help. The asterisk is there for debugging purposes only. Where can I find documentation about NFS roots? This is kind of new to me. I have not seen it in NFSv3. –  GorillaPatch May 7 '12 at 20:06
    
The arch wiki has a good guide for NFSv4. wiki.archlinux.org/index.php/NFSv4 –  Nicholas May 7 '12 at 20:59
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.