Auf einem Linux-Client wurde eine NFS-Freigabe eingebunden /vol/mynfs
. Es werden keine Ordner angezeigt ls
und die Bash-Vervollständigung funktioniert /vol/mynfs
auch nicht. Nach dem Wechsel in ein Unterverzeichnis sind aber alle Dateien sichtbar.
$ ls /vol/mynfs
total 0
$ cd /vol/mynfs/test
$ ls # shows all files as expected now.
Warum sind die Dateien zunächst unsichtbar und wie kann ich sie immer sichtbar machen?
Antwort1
Ich gehe davon aus, dass Ihre NFS-Freigabe automatisch gemountet ist, oder?
Vor dem tatsächlichen Mounten der Freigabe /vol/mynfs
handelt es sich lediglich um ein leeres Verzeichnis, daher ls
wird es auch so angezeigt. Durch das Verschieben in dieses Verzeichnis wird das Mounten erzwungen, sodass danach ls
der Inhalt des jetzt gemounteten Verzeichnisses angezeigt wird.
Die Dateien können aufgelistet werden, solange die Freigabe tatsächlich gemountet ist. Wenn die Freigabe anschließend unmountet wird (manuell oder automatisch nach einem Inaktivitätstimeout), erscheint das Verzeichnis wieder leer.
Etwas wie (cd /vol/mynfs; ls)
erzwingt die Bereitstellung und führt die aus ls
, wenn Sie dies aus irgendeinem Grund tun müssen.
Antwort2
Stellen Sie sicher, dass Sie Leseberechtigung für dieses Verzeichnis haben.
Sehen Sie ls -la /vol/mynfs/.
sich die Ausgabe an. .
Hat Ihr Benutzer oder Ihre Gruppe Lesezugriff?
Sie können lernen, die Berechtigungen zu lesen.Hier
Wenn Sie Ausführungszugriff, aber keinen Lesezugriff haben, können Sie den Ordner und seine Unterverzeichnisse öffnen, aber nicht auflisten (genau Ihr Problem).Quelle
Sie können dieses Problem beheben, indem Sie Folgendes ausführen (möglicherweise müssen Sie als Root angemeldet sein, sudo
wenn Ihnen der Ordner nicht gehört):
chmod u+r /vol/mynfs/.
Dadurch werden dem Benutzer Leseberechtigungen für diesen Ordner hinzugefügt.
Das Extra /.
in den Befehlen könnte erforderlich sein, wenn es sich um einen symbolischen Link handelt, ich weiß es nicht.
Antwort3
Ich habe diesen Fall auch ausprobiert.
Lösung 1
In meinem Fall verwende ich den QNAP NAS-Server.
Der Name meines NAS-Freigabeordners lautet „mynfs“.
ssh zum QNAP NAS-Server und chmod 750 mynfs
chmod 750 /share/NFSv=4/mynfs
Nach der Chmod-Einstellung auf der NFS-Serverseite kann mein NFS auf der Clientseite jetzt alle Dateien und Verzeichnisse anzeigen.
Lösung 2
Diese Lösung besteht darin, /etc/fstab auf der Clientseite zu ändern. Im folgenden Beispiel ist 10.0.0.254 mein QNAP NAS-Server.
10.0.0.254:/mynfs /vol/mynfs nfs defaults 0 0
ändern in
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
Nach der Änderung von /etc/fstab und dem erneuten Mounten von /vol/mynfs wurden die Dateien in /vol/mynfs angezeigt.