NFS 4 - I'm lost

I have a NFS4 setup that works perfectly however I don’t understand why !
Can someone point me to a good book/resource or tell me what is happening in the following scenario ( simplified a bit for brevity )

Server
/shared shared as fsid=0
/everyone bind=/shared/everyone
/staff bind=/shared/staff
/students bind=/shared/students
/home bind=/shared/home

on the server I can see all four directories in the /shared folder
and the /shared/home directory has all the users Yast created and made their home directories in /home/username1 . /home/username2 etc
Question :- since I didn’t create these in /shared what am I seeing? - if i delete anything in /shared/everyone for example it goes from /everyone too or if I
delete a users from /shared/home the ‘real’ users home directory vanishes.

What created them ? - are they some sort of symbolic link ( although they don’t
seem to be )

Ta

M

NFS4 is very different from NFS3

NFS4

  • Must have a “root” (/shared in your case) with fsid=0
  • Every exported directory must be mounted under the root (/shared/students in your case)
  • Clients mount without the root (server:/students)
  • Authentication is via username

NFS3

  • Exports can be anywhere (no need for rooting under single directory)
  • Clients mount with full export path (server:/shared/students)
  • Authentication is via uid

Since you are using NFS4, the configuration has to make the /home directory “appear” under /shared. I suspect YaST is using a “bind” mount which make one directory tree appear in two places. A “cat /etc/fstab” should show this as well. Delete a file from one location and it deletes from the other. A “cat /proc/mounts” will show you if this is the case. Do a “man mount” and look for the option “bind.”

Ah …some time later …

I think my problem is my exports are the wrong way around

it should be
/shared shared as fsid=0
/shared/everyone bind=/everyone

not
/shared shared as fsid=0
/everyone bind=/shared/everyone

although it sort of works that way too …!

M