Das NFS ist ursprünglich von Novell entwickelt worden. Hierbei teilt man dem exportierenden Rechner mit, welcher Rechner welche Partitionen mounten darf. Man unterscheidet zwischen :
Der Server ist der Rechner,der seine Partitionen zur Verfügung stellt. Dabei legt man in /etc/exports fest,wer welche Partitionen wie mounten darf :
# sample /etc/exports file 1 / master(rw) trusty(rw,no_root_squash) 2 /projects proj*.local.domain(rw) 3 /usr *.local.domain(ro) @trusted(rw) 4 /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) 5 /pub (ro,all_squash) 6 /pub/private (noaccess)Die Nummern dienen nur zur besseren Beschreibung.
Zeile 1 : Die Partition / darf der Rechner master desselben Netzes mounten und zwar zum Lesen und zum Schreiben (rw). Außerdem darf der Rechner trusty diese Partition ebenfalls mounten,ebenfalls rw und zusätzlich hat der Benutzer root auf beiden Rechner diesselben Rechte (no_root_squash) . Mountet Rechner B die Partition von Rechner A,so werden Zugriffen von root auf diese gemounteten Partitionen aus Sicherheitsgründen auf Zugriffe des Benutzers nobody umgemappt,falls der Eintrag no_root_squash fehlt.Das heißt,daß man auf Rechner B als root alle Rechte hat und in jedes Verzeichnis darf, auf der gemounteten Partition dies aber nicht hat.
Dies hat folgenden Grund : Hat sich ein Hacker auf Rechner A z.B. die root-Kennung gehackt,so hat er auf Rechner A zwar alle Rechte,kopiert er aber als root eine Shell mit Rootrechten auf die gemountete Partition,so wird die Shell dort nur mit den Rechten von nobody geschrieben. Das Flag no_root_squash sollte man also nur mit großer Vorsicht setzen bzw nur in einem Netz ohne Anbindung ans Internet.
Zeile 2 : /projects darf jeder Rechner,auf den proj*.local.domain paßt,mounten
Zeile 3 : /usr darf jeder Rechner des lokalen Netzes mounten bzw alle Rechner,die in der Netzgruppe mit Namen trusted stehn, mounten
Zeile 4 : Für /home/joe gilt obiges,aber zusätzlich wird jeder Zugriff auf die UID 150 und die GID 100 gemappt
Zeile 5 : /pub darf jeder Rechner auf der Welt mounten,aber ALLE User werden auf nobody gemappt.
Zeile 6 : Für /pub/private wird jedes Mounten explizit verboten.
Die Clients legen nur in /etc/fstab fest,wohin die Partitionen gemountet werden.Das Format ist folgendes :
# sample Mounted FS 134.96.32.33:/usr2 /usr2 nfs defaults
Das verzeichnis /usr2 des Rechners 134.96.32.33 wird an die Stelle /usr2 gemountet
Auf jeden Fall muß man bei jeder Änderung an /etc/exports rpc.mountd und rpc.nfsd ein HUP schicken.