I'm trying to set up an nfs with two exported shares on voidlinux. My /etc/exports file looks like this:
/home/jeff/a *(ro,no_root_squash)
/home/jeff/b *(ro)
On my client I run sudo mount -t nfs4 192.168.0.253:/home/jeff/b /mnt/nas/
and that works just fine for both directories. However, if I change my /etc/exports to use the root_squash option for /home/jeff/a
like this:
/home/jeff/a *(ro,root_squash)
/home/jeff/b *(ro)
and then run sudo exportfs -r
to make that update real. I can then run the exact same command (sudo mount -t nfs4 192.168.0.253:/home/jeff/b /mnt/nas/
), but now I get
mount.nfs4: access denied by server while mounting 192.168.0.253:/home/jeff/b
I thought that it should have no effect because I was making changes to a different share, so I'm kind of lost at this point. showmount -e 192.168.0.253
shows
Export list for 192.168.0.253:
/home/jeff/b *
/home/jeff/a *
like I would expect in either case. I've tried restarting the nfs service on the server, I've tried enabling and disable statd on my client machine. I read in this guide by redhat that /etc/exports has a pretty sensitive syntax, but I didn't think that what I did introduced any syntax errors. I feel like I'm missing something about nfs. My question is: Why does it work in one of these configurations but not the other?