"ls" no muestra archivos en la carpeta NFS montada, pero "cd" funciona

"ls" no muestra archivos en la carpeta NFS montada, pero "cd" funciona

Se montó un recurso compartido NFS /vol/mynfsen un cliente Linux. No muestra ninguna carpeta lsy la finalización de bash tampoco funciona /vol/mynfs. Pero después de cambiar a un subdirectorio, todos los archivos son visibles.

$ ls /vol/mynfs
total 0
$ cd /vol/mynfs/test
$ ls  # shows all files as expected now.

¿Por qué los archivos son primero invisibles y cómo puedo hacerlos siempre visibles?

Respuesta1

Supongo que su recurso compartido de NFS está montado automáticamente, ¿no?

Antes de que el recurso compartido se monte realmente, /vol/mynfses solo un directorio vacío, por lo que lsse muestra así. Moverse a ese directorio obliga a que el montaje se realice, por lo que lsdespués se muestra el contenido del directorio ahora montado.

Los archivos se podrán enumerar siempre que el recurso compartido esté realmente montado. Si el recurso compartido se desmonta posteriormente (manual o automáticamente, después de un tiempo de inactividad), el directorio aparecerá nuevamente vacío.

Algo como (cd /vol/mynfs; ls)forzará el montaje y hará el ls, si eso es lo que necesitas hacer por alguna razón.

Respuesta2

Asegúrese de tener permiso de lectura para ese directorio.
Intente ls -la /vol/mynfs/.mirar el resultado de ., ¿su usuario o grupo tiene acceso de lectura?
Puedes aprender a leer los permisos.aquí

Si tiene acceso de ejecución pero no de lectura, podrá abrir la carpeta y sus subdirectorios, pero no podrá enumerarlos (su problema exacto).Fuente
Puede solucionar este problema ejecutando (es posible que deba ser root/usar sudosi no es propietario de la carpeta);

chmod u+r /vol/mynfs/.

Lo que agregará permisos de lectura para el usuario en esa carpeta.

Es posible que se necesite el extra /.en los comandos si se trata de un enlace simbólico, no lo sé.

Respuesta3

También probé este caso.

Solución 1

En mi caso, estoy usando el servidor NAS de QNAP.

El nombre de mi carpeta NAS Share es 'mynfs'

ssh al servidor NAS de QNAP y chmod 750 mynfs

chmod 750 /share/NFSv=4/mynfs

Después de la configuración chmod del lado del servidor NFS, My client side nfs puede mostrar todos los archivos y directorios, ahora.

Solución 2

Esta solución es modificar el lado del cliente /etc/fstab. El siguiente ejemplo, 10.0.0.254 es mi servidor NAS de QNAP.

10.0.0.254:/mynfs     /vol/mynfs     nfs     defaults        0       0

modificar a

10.0.0.254:/mynfs    /vol/mynfs     nfs     relatime,vers=4.1,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,local_lock=none  0       0

Después de modificar /etc/fstab y montar /vol/mynfs nuevamente. Los archivos aparecieron en /vol/mynfs.

información relacionada