NFS monta carpetas, pero no archivos

NFS monta carpetas, pero no archivos

Tengo problemas para que los archivos aparezcan usando un montaje NFSv4 entre

Server: Ubuntu 20.04, 192.168.1.1
Client: Ubuntu 18.04, 192.168.1.2

En el servidor tengo una carpeta y un archivo.

/home/server/files/myfile.pdf

(tenga en cuenta que se utiliza 'servidor' como nombre de cuenta de usuario). Aquí está la cadena completa de propiedad y permisos del archivo original:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /home/
drwxr-xr-x  server:server    /home/server/
drwxrwxr-x  server:nfsgroup  /home/server/files/
-rwxrwxrwx  server:nfsgroup  /home/server/files/myfile.pdf

Aquí puedes ver un ejemplo de una utilidad 'usuario':'grupo' que creé:

nfsuser  uid=127
nfsgroup gid=134

Tanto 'nfsuser' como 'server' están en el grupo 'nfsgroup'.

En el servidor, tengo el /files/directorio enlazado montado en /srv/nfs4/files/in /etc/fstab, con una entrada

/home/server/files    /srv/nfs4/files    none    bind    0    0

Esto fue exitoso y puedo ver claramente el /srv/nfs4/files/myfile.pdfarchivo como

-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Aquí está la cadena total de propiedad y permisos del archivo montado y servido:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /srv/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/files/
-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Ahora, quiero exportar el /srv/nfs4/directorio completo, que contiene el archivo bind-mounted files/, al cliente. Tengo esta entrada en el servidor /etc/exports:

/srv/nfs4    192.168.1.2(rw,sync,fsid=0,root_squash,all_squash,anonuid=127,anongid=134,no_subtree_check)

Tenga en cuenta en particular que el all_squash,anonuid=127,anongid=134grupo de configuraciones hace que el usuario cliente 'cliente' sea reconocido como 'nfsuser' en el 'nfsgroup' con respecto a los permisos.

Después de exportar esto usando $ sudo exportfs -ra, lo monto en el directorio de nivel raíz /nsffiles/del cliente usando el comando $ sudo mount -t nfs 192.168.1.1:/srv/nfs4 /nsffiles.

El resultado es que yopuede verfiles/el directorio exportado dentro /nsffiles/del cliente. Sin embargo, no puedo ver su contenido:

$ ls -Alhd /nsffiles/
drwxrwxr-x 8 client 134 4.0K Nov 14 20:37 /nsffiles/

$ ls -Alhd /nsffiles/files/
drwxr-xr-x 2 root root 4.0K Nov 14 20:36 /nsffiles/files/

$ ls -Alh /nsffiles/files/
total 0

El hecho de que el cliente NFS pueda ver el files/directorio indica que no hay nada fundamentalmente malo con mis servicios NFS o la red local. No hay problemas con el firewall y no debería necesitar instalar ningún paquete adicional. Además, anteriormente tenía el montaje NFS funcionando perfectamente bajo una estructura de carpetas ligeramente diferente ( files/por ejemplo, estaba en un directorio fuera de casa), así que sé que lo básico está bien en ese sentido.

Supongo que la causa más probable de por qué no funcionará ahora es un cambio sutil de propiedad/permisos entre la configuración anterior y la actual. En particular, el directorio montado es

server side:    `/srv/nfs4/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/`    drwxrwxr-x  client:134

El directorio contenido es

server side:    `/srv/nfs4/files/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/files/`    drwxr-xr-x  root:root

Es decir, para el directorio montado, los permisos se convierten como server:nfsgroup -> client:134, lo que se espera. Sin embargo, los permisos para el directorio contenido se convierten como server:nfsgroup -> root:root. ¿Por qué root:rooty no client:134?

Este servidor fallapreguntaSuena similar, pero se refiere a Windows y no puedo decir si se aplica la única respuesta.

Este Unix.SEpreguntase refiere a los permisos de archivos NFS para una configuración de Windows/Linux; Toda la información que puedo obtener de ella son cosas que ya sé y creo que me he ocupado.

Por favor responda sólo si sabe de lo que está hablando. Si no puede resistirse a publicar una suposición descabellada, identifíquela como tal. O, ya sabes, proporciona suficiente información para que tu lector pueda notar la diferencia.

información relacionada