Das Network File System (NFS) wurde 1984 von Sun entwickelt als Datei- und Verzeichnisserver für POSIX-Dateisysteme. In gewisser Weise ist NFS also vergleichbar mit dem Windows-Dateiserver SMB, der durch SAMBA realisiert wird.
Unterschiede zu SAMBA bestehen nicht nur im Dateisystem, sondern auch in der Frage der Rechtezuordnung und der Sicherheit.
Installation und Konfiguration
Auf einem Debian-System (also auch Ubuntu und Linux Mint) wird NFS über den folgenden Befehl installiert.# apt install nfs-kernel-serverDer Server definiert seine Freigaben in der Datei /etc/exports:
# /etc/exports /var/nfs/fotos *(rw,sync,no_subtree_check)
- Die Zeile beginnt mit dem freigegebenen Verzeichnis.
- Es folgen die Rechner, die darauf zugreifen dürfen. Hier ist es ein Stern, der für alle Rechner im Netzwerk steht.
- In der Klammer stehen die Optionen unter denen die Freigabe steht.
# mkdir /var/nfs # mkdir /var/nfs/foto # chmod -R 777 /var/nfsDas Auffallenste ist, dass es keine Benutzer gibt. Stattdessen gibt NFS seine Verzeichnisse an Rechner frei, denen er vertraut, die sich in ihrer Benutzerstruktur gleich verhalten.
Aus diesem Grund ist es erforderlich, dass der Administrator root der Clients keinerlei Rechte auf dem Server haben darf, da ansonsten die Integrität des Servers zerstört wäre.
Installation eines NFS-Clients
Damit ein Linux-Rechner mit einem NFS-Server kommunizieren kann, muss er ein Client-Paket installieren.# apt install nfs-commonNun kann der Client die Exporte des Servers mit dem Befehl showmount anzeigen lassen.
$ showmount -e server Export list for server: /var/nfs/foto *
Einhängen eines NFS-Exports
Um den Export in das Dateisystem einzuhängen, muss das Einhängeverzeichnis angelegt werden und ein Mount-Befehl für das NFS-Dateisystem gegeben werden.# mkdir /media/foto # mount -t nfs server:/var/nfs/foto /media/fotoFür das dauerhafte Einhängen muss ein Eintrag in der /etc/fstab erfolgen.
# /etc/fstab server:/var/nfs/foto /media/foto nfs user 0 0Durch den Eintrag user wird der Export nicht sofort beim Booten eingehängt, sondern kann später durch einen beliebigen Benutzer erfolgen.
$ mount /media/foto