NFS
Aus Fedorawiki.de
NFS (Network File System) ist ein von SUN microsystems entwickeltes Protokoll, das den Zugriff auf Dateien über ein Netzwerk ermöglicht. Oft wird NFS mit Samba verglichen, was jedoch nicht viel Sinn ergibt, da andere Philosophien dahinter stecken. Bei NFS wird nicht ein Client am Server angemeldet, sondern der Server bietet einem anderen Rechner Zugriff. Um Verwirrungen vorzubeugen: Ein Sambaserver kann nicht per NFS gemountet werden.
Beispiel Samba (als mount):
Benutzer A fragt an Server B zum Einloggen an Samba-Server kennt Benutzer A und fragt nach Passwort Benutzer A gibt Passwort ein Samba-Server idenfiziert Benutzer A als OK -> Verbindung wird hergestellt
Beispiel NFS:
Server B gibt Verzeichnis für Rechner C und Benutzer A frei Rechner C verbindet mit seiner Rechner-ID => Benutzer A hat Zugriff auf das Verzeichnis
Sowas wie den smbclient gibt es für NFS nicht.
Inhaltsverzeichnis |
NFS-Server
Installation
Um den Server zum Laufen zu bringen, sind die nfs-utils notwendig, in denen diverse rpc-Dienste und der NFS-Daemon enthalten sind.
Die Konfgiurationsdatei ist /etc/exports.
exports (einfache Konfiguration)
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.
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.
Den Daemon starten
Ist die Datei /etc/exports fertig eingerichtet, kann sie mit /etc/init.d/nfs reload testen. Hier gilt: Keine Meldung ist eine gute Meldung.
Mit
startet der Daemon.
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,soft 0 0
Links
- Red Hat Referenzhandbuch - Kapitel aus dem Referenzhandbuch für RHEL 4
- Red Hat Sicherungshandbuch - Kapitel über die Sicherung von NFS
- SelfLinux - Artikel über NFS bei SelfLinux
- Linux NFS-HOWTO - englisches Howto vom Linux Documentation Project