Se montó un recurso compartido NFS /vol/mynfs
en un cliente Linux. No muestra ninguna carpeta ls
y 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/mynfs
es solo un directorio vacío, por lo que ls
se muestra así. Moverse a ese directorio obliga a que el montaje se realice, por lo que ls
despué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 sudo
si 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.