De hoofdtaak van een Linux systeem is nog steeds de serveertaak. Oftewel het aanbieden van allerlei diensten. Hierin is Linux sterk.
Dit hoofdstuk gaat over het aanbieden van bestanden op een Linux server aan andere gebruikers op het netwerk (en als u niet oppast het internet).
UNIX systemen werken onderling met het Network File System (NFS). Zo verloopt een installatie op afstand op een CD loze computer via NFS. De toegangsrechten tot de bestanden zijn hier goed mee te regelen. Net als onder Samba kunnen computers zowel als NFS client en als server optreden.
Voor het aanbieden van Bestands- en Printerdiensten aan Windows en OS/2 computers gebruikt u liever Samba. Overigens zijn er wel shareware versies van NFS clients voor Windows en DOS (o.a. te vinden in de DOSUTILS map van de SuSE CD). De laatste OS/2 client ( eComStation) komt standaard met een NFS server en client.
Het Network Filesystem is een transparant bestandssysteem dat u net als ieder ander bestandssysteem moet mounten. Voldoen de mount instellingen dan maakt u een ingang aan in /etc/fstab. Voorwaarden zijn wel dat u de andere computer via het TCP/IP netwerk kunt benaderen, dat de juiste software is geinstalleerd, dat de toegangsrechten op de NFS server zijn geregeld en dat u een mountmap (mountpoint) aangemaakt hebt.
Op de NFS client is de Remote Procedure Call (RPC) portmapper (rpc.portmap) nodig.
Op de NFS server kunt u gebruik maken van de Kernel Network File Server Daemon (NFSD) of de Userland NFS daemon (rpc.nfsd). De server heeft naast de portmapper (rpc.portmap) ook de RPC mount daemon (rpc.mountd) nodig. Het lijkt lastiger dan het is, want meestal worden deze zaken in handige rpms (tezamen met de init scripts) geïnstalleerd.
Om te beginnen maakt u een of meer mountpoints op de client computer aan. Bijvoorbeeld /zolder (de serveer PC staat bij mij op zolder). Geef uzelf (en anderen) niet teveel rechten. Hoewel het aantrekkelijk kan lijken een hele rootmap read- write te kunnen benaderen, zult u er op een dag ontzettend spijt van krijgen. Voor administratieve taken op de verre computer is een telnet sessie wel zo handig. Voordeel van het laatste is dat u dan meteen de nieuwe instellingen activeren kunt.
Hebt u plaatsgebrek op de client PC, dan kunt u overwegen om de /usr en /opt mappen van de serveercomputer te lenen. Voor grote programma's als StarOffice is dit geen gek idee. Met NFS kunt u zelfs een computer zonder vaste schijf vanaf een floppy booten en de harde schijf van de serveercomputer gebruiken. Via het netwerk (en zelfs het internet) kunt u complete installaties uitvoeren op een computer (laptop) zonder CD lezer.
De syntax voor het mounten is als volgt:
De /etc/fstab ingang wordt:
De [NFS server} kan een hostnaam of een IP adres zijn.
De [hostmap] is de map op de server die u bereiken wilt. De server moet uw computer via zijn /etc/exports wel toegang verlenen (zie: verderop).
Het [mountpoint] is de plaats waar u de bestanden wilt zien.
De opties zijn de gewone (niet verplichte) opties van het commando mount. Veel voorkomende opties zijn "defaults", "noauto" voor verwisselbare media (CD, Floppy, Zip) of computers die niet altijd bereikbaar zijn, "ro" is alleen lezen voor CD's of voor mappen als /.
En een voorbeeld van een /etc/fstab ingang:
Met de laatste ingang benader ik "Mijn Documenten" onder Linux op de laptop. Zou ik de laptop onder Windows proberen te benaderen, dan krijg ik geheid problemen met de netwerkbeheerder op het werk.
Vergeet niet in /etc/fstab de optie bg (background) in te schakelen bij het automatisch ("auto", helaas de "defaults") mounten van NFS servers!! Als de server niet beschikbaar is (of als u een configuratiefout maakt), blijft Linux in dot proces hangen. Op een schijfloos werkstation is daar wel wat voor te zeggen, maar op een gewone Linux PC is het een ramp. Om in dat geval als root in te kunnen loggen om de /etc/fstab te herstellen moet u met een reddingssdiskette of na het tijdelijk verwijderen van de netwerkkaart (netwerk uitschakelen op VirtualPC) booten.
Het bestand /etc/exports bevat de bestandssystemen van de NFS serveercomputer die naar andere computers geexporteerd mogen worden. De TCP wrappers (hosts.allow en hosts.deny) hebben geen invloed op NFS omdat de remote procedure call buiten de internet deamon om werkt.
Het formaat (zie: man exports) is vrij simpel: /pad/map hostnaam (optie,optie) *.domein(optie,optie)
De hostnaam mag een computernaam zijn, een IP adres of een wildcard (bijv. *.thuis voor het domein thuis). Een hostnaam moet in een IP adres om te zetten zijn. Clients die in het hosts bestand van de server ontbreken kunnen dus een "permission denied" foutmelding geven.
Bekende opties zijn "ro" (read-only), "rw" (read-write). "no_root_squash" (geeft de root van de client server root permissies, soms nodig voor een backup).
NB onder OS/2 ziet exports er zo uit:
U kunt het met een telnet als gebruiker (en daarna pas su) als root instellen. Onder SuSE herstart u het netwerk met "/sbin/init.d/network restart":
Prettig is dat, hoewel het netwerk even plat ging, de telnet sessie niet werd afgebroken.