«ls» не показывает файлы в смонтированной папке NFS, но «cd» работает

«ls» не показывает файлы в смонтированной папке NFS, но «cd» работает

Сетевой ресурс NFS был смонтирован на /vol/mynfsклиенте Linux. Он не показывает никаких папок, lsи автодополнение bash также не работает /vol/mynfs. Но после перехода в подкаталог все файлы видны.

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

Почему файлы сначала невидимы и как сделать так, чтобы они всегда были видны?

решение1

Я предполагаю, что ваш ресурс NFS монтируется автоматически, да?

До того, как ресурс фактически смонтирован, /vol/mynfsэто просто пустой каталог, поэтому lsон отображается как таковой. Переход в этот каталог заставляет монтироваться на самом деле, поэтому lsпосле этого отображается содержимое смонтированного каталога.

Файлы будут доступны для просмотра, пока ресурс фактически смонтирован. Если ресурс впоследствии будет размонтирован (вручную или автоматически после тайм-аута бездействия), каталог снова будет казаться пустым.

Что-то вроде (cd /vol/mynfs; ls)принудительного монтирования и выполнения ls, если это то, что вам по какой-то причине нужно сделать.

решение2

Убедитесь, что у вас есть разрешение на чтение для этого каталога.
Попробуйте ls -la /vol/mynfs/.посмотреть на вывод для ., есть ли у вашего пользователя или группы разрешение на чтение?
Вы можете научиться читать разрешенияздесь

Если у вас есть права на выполнение, но нет прав на чтение, вы сможете открыть папку и ее подкаталоги, но не сможете просмотреть их список (именно в этом и заключается ваша проблема).Источник
Эту проблему можно исправить, запустив (может потребоваться наличие прав root/use, sudoесли вы не являетесь владельцем папки);

chmod u+r /vol/mynfs/.

Что добавит пользователю разрешения на чтение этой папки.

/.Если это символическая ссылка, то, возможно, понадобится что-то дополнительное в командах, я не знаю.

решение3

Я также попробовал это дело.

Решение 1

В моем случае я использую QNAP NAS Server.

Имя моей папки NAS Share — «mynfs»

ssh к QNAP NAS Server и chmod 750 mynfs

chmod 750 /share/NFSv=4/mynfs

После настройки chmod на стороне сервера NFS мой клиентский nfs теперь может отображать все файлы и каталоги.

Решение 2

Это решение - изменить клиентскую сторону /etc/fstab. Ниже приведен пример, 10.0.0.254 - мой QNAP NAS Server.

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

изменить на

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

После изменения /etc/fstab и повторного монтирования /vol/mynfs файлы появились в /vol/mynfs.

Связанный контент