NFS

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

NFS-Server

exports

Die /etc/exports weicht kaum von der von Solaris/SUN-OS verwendeten ab, unter Linux sind jedoch weitere Optionen verfügbar.

Beispiel einer einfachen Serverkonfiguration:

/Daten/pub/alle 192.168.1.1(ro)

Bei diesem Beispiel dürfen alle vom Rechner 192.168.1.1 lesend auf das Verzeichnis

/Daten/pub/alle zugreifen.

Es ist auch erlaubt, ganze und Teilnetzwerke einzubinden. Auch sind hier verschiedene Schreibweisen erlaubt.

/Daten/pub/alle 192.168.1(ro)
/Daten/pub/alle 192.168.1.*(ro)
/Daten/pub/alle 192.168.1/24(ro)
/Daten/pub/alle 192.168.1.0/24(ro)
/Daten/pub/alle 192.168.1/255.255.255.128(ro)
/Daten/pub/alle 192.168.1.0/255.255.255.128(ro)
/Daten/pub/alle *.mydomain(ro)
  • Die Konfigurationen mit voller Netzwerkadresse und Teilnetzmaske sind zu bevorzugen.
    • Anmerkung: Die Mount-Verzeichnisse sollten, wenn möglich, nicht übereinander liegen.
    • Die folgende Zusammenstellung ist also zu vermeiden:
/Daten/pub/alle 192.168.1(rw)
/Daten/ 192.168.1(ro)

Besser mit den UIDs und GIDs so etwas gestalten.

  • exports (Optionen)
    • secure = NFS Anfragen müssen von einem Port kleiner als 1024 stammem
    • insecure = NFS Anfragen können von einem Port grösser als 1024 stammem
    • ro = read only
    • rw = read write
    • link_relative = Wandelt absolute symbolische Links in relative Links um.
    • link_absolute = Läßt alle symbolischen Links so wie sie sind
    • sync = sofortiges Synchronisieren (keine Schreibverzögerung)
    • no_wdelay = das gleiche wie sync
    • async = asyncron speichern
    • root_squash = User-ID 0 wird in als anonym behandelt. (im Normalfall nfsnobody)
    • no_root_squash = User-ID 0 wird beibehalten
    • squash_uids = User-IDs werden in anonyme umgewandelt
    • squash_gids = Gruppen-IDs werden in anonyme umgewandelt
    • all_squash = Wandelt alle User-IDs und Gruppen-ID's zu anonymen um.
    • map_daemon = Diese Option schaltet die dynamische User- und Gruppen-ID-Umwandlung über den rpc.rusersd ein.
    • anonuid = Setzt die User-ID für den anonymen User
    • anongid = Setzt die Gruppen-ID für die anonymen Gruppen.

exports (erweitert)

  • Ein Beispiel:
/Daten/anna 192.168.1.2(anonuid=501,anongid=501,sync,rw)

Wenn "anna" hier am Rechner "192.168.1.2" die UID und GID 501 hat, dann gehört ihr sozusagen dieser Ordner.

  • Weiteres Beispiel:
/Daten/pinnwand 192.168.1.3(rw,all_squash,async)

Hier dürfen alle schreiben und werden squashed.

NFS Client

Der Client muss das Serververzeichnis mounten, um darauf arbeiten zu können

  • Beispiel: Einfaches Mounten eines NFS:
mount -t nfs server:/Daten /mnt/nfs

Es gibt auch hier beim Mounten des NFS-Verzeichnisses verschiedene Optionen.

  • Beispiel aus einer /etc/fstab:
192.168.1.1:/Daten/pinnwand /mnt/nfs-pinnwand nfs rsize=8192,wsize=8192,intr