1

Edited, as the situation changed a little bit.

I'm trying to share a directory on my NAS device(WD Mybook WE) with NFS to another machine on my local network. The directory on the NAS device looks like this:

drwxr-x---   15 git      git          4096 Nov 17 01:05 git/

And id's of the user git on the NAS device is like this:

[root@myhost DataVolume]# id git
uid=505(git) gid=505(git)

I played with many different parameters in the /etc/exports file and this is what I got there currently:

/DataVolume/git 192.168.0.20(async,rw,no_root_squash)

On the client side I have the user git and group git with the same id's to match the ones on the server.

user@myclient:~$ id git
uid=505(git) gid=505(git) groups=505(git)

I mount the directory with:

sudo mount myhost:/DataVolume/git -t nfs git/

and the mounted directory looks like:

drwxr-x--- 15 git    git       4096 Nov 17 01:05 git

After these steps I can access to this directory from the client with the root user with r/w permissions. But user git on the client still cannot even cd into that directory. The git user has the same uid and gid on both devices and as you can see the directory is owned by that user.

Thanks in advance for any help.

3 Answers 3

2

Verify that the directory actually is exported with no_root_squash:

grep git /proc/fs/nfs/exports

Do you have SELinux enabled on client or server? If so, try disabling it (or set the policy to permissive), then restart nfsd and remount the share.

What do your logs (client and server) say about this?

Edit:

Do you see the mounts/exports when you run showmount -a server and showmount -e server on the client?

Do you get ready and waiting responses when running the following three commands on the client?

  • rpcinfo -T udp server nfs
  • rpcinfo -T udp server mountd
  • rpcinfo -T udp server nlockmgr
5
  • I confirmed through /proc/fs/nfs/exports that no_root_squash is enabled. /var/log/nfs on the server is empty and in /var/log/messages says authenticated mount request from the client, nothing else.
    – rgngl
    Commented Nov 18, 2012 at 13:32
  • Plus, sestatus is not present on the server so I assume there's no SELinux installation.
    – rgngl
    Commented Nov 18, 2012 at 13:33
  • @rgngl See updated answer. Commented Nov 18, 2012 at 22:03
  • Hi, the situation has changed a bit. I updated my question. Now I have r/w access from the client when I'm logged in there as root. But with the git user, I still get the permission denied error.
    – rgngl
    Commented Nov 19, 2012 at 17:04
  • You may give no_all_squash a try (no_root_squash is irrelevant - root already has access). Also, as root on the client, you could try "chown git.git git". Also, adding a unique "fsid=" to each export is essential in many environments. The value doesn't need to be zero, just make sure all are unique (e.g. 1st export fsid=10, 2nd export fsid=20, etc.)
    – nod
    Commented Oct 3, 2013 at 1:49
1

Using fsid=0 in export options may help for accessing files and directories with no read permission for others. See - http://softpanorama.net/Net/Linux_networking/Suse_networking/suse_nfs.shtml

1
  • Or change fsid to anything else apart from root if you need lower permissions
    – GuySoft
    Commented Jun 26, 2018 at 8:06
0

You should check the sylog for more information on why you're getting the Access Denied error. Run the following command to check what log files have recently been edited, and then check the last lines of those files.

ls -latr /var/log/

I once had the same problem with NFS, everything seemed to be set up right, but whatever I did I always got an "access denied by server while mounting xxx" error. The logs showed an "Illegal Port" error and I solved it by adding the option "insecure" to the exports file, ie:

/DataVolume/git 192.168.0.20(async,rw,no_root_squash,no_subtree_check,insecure)

Try that and see if it gets you any closer.

2
  • I don't get any error during mount operation, it seems to mount fine. From the log folder I only see the messages file is updated. It says the mount authentication was successful.
    – rgngl
    Commented Nov 18, 2012 at 15:00
  • Oh, I'm sorry, I completely misunderstood your problem. I usually mount with the parameter "-o rw,soft", maybe you can try that?
    – yzfr1
    Commented Nov 18, 2012 at 15:24

You must log in to answer this question.

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