Network File System
Fra Wikipedia, den frie encyklopedi.
Network File System (NFS) er, åpenbart, et nettverksfilsystem – det innebærer at man kan aksessere et filsystem over et nettverk. NFS ble implementert av Sun allerede i 1985. NFS er UDP-basert (og kan i noen versjoner av NFS være TCP-basert), man må altså være tilknyttet et IP-nett.
Dette er det vanligste filsystemet å bruke mellom UNIX-maskiner. Det er svært enkelt og temmelig raskt (i hvert fall NFS 3 - NFS 2 er bare enkelt), men ikke spesielt sikkert.
| Innholdsfortegnelse |
NFS-tjener
Å sette opp en NFS-tjener er nokså trivielt. Man trenger et knippe tjenerprogrammer og en korrekt oppsatt konfigurasjonsfil /etc/exports. Et eksempel på hvordan denne filen kan se ut er vist under:
| Fil: /etc/exports |
/usr *.ditt.domene.no(ro) /tmp 10.0.0.0/8(rw,no_root_squash) |
Syntaksen i konfigurasjonsfilen er katalogen som skal deles ut via NFS i første kolonne, deretter hvem som skal ha tilgang samt oppførselsparametre i andre kolonne. Pass på at det ikke er mellomrom mellom oppførselsparameterene, de skal bare være separert med «,».
Man kan også bruke et grafisk program som system-config-nfs på Fedora Core og Red Hat-baserte distribusjoner, eller Webmin. Se ellers man exports.
Et annet eksempel på en slik linje, er:
/home/dinbruker 192.168.1.*(rw,insecure,sync,no_root_squash)
Denne linjen betyr:
- del ut katalogen /home/dinbruker
- til alle PC-er med IP-adresse som starter på 192.168.1.
- rw - les/skriv
- insecure - mulig å kople til fra portnumre over 1024 (usikkert fordi disse portene kan åpnes av upriviligerte brukere, ikke bare av root)
- sync - dersom klienten krever at innholdet synkroniseres mot disken nå, gjør som den sier. async kan gi noe bedre ytelse.
- no_root_squash - normalt sett vil brukeren «root» på klienten bli «omdøpt» til nfsnobody på serveren. Roots filer får derfor være i fred, og root kan ikke endre brukeres filer direkte (uten å su-e til brukeren)
«insecure» er nødvendig for å kunne kople en Mac med Mac OS X til uten alt for mye trøbbel. Dette gjøres ved å gå inn på nfs://serverip/delt/katalog i dialogboksen for diskmontering i Finder. NFS er ofte raskere enn AppleTalk.
For å dele ut det som spesifiseres i /etc/exports må tjenerprogrammet portmap kjøres, deretter mountd, nfsd og ofte også statd. I Red Hat og Fedora Core startes disse ganske enkelt med /etc/init.d/nfs start.
NFS-klient
Det er en fordel om portmap-prosessen kjører også på klienten . For å montere et filsystem eksportert på en NFS-tjener, benyttes følgende kommando:
/sbin/mount -t nfs -o hard,intr maskin:/usr /mnt/annenmaskin
(hvor katalogen /mnt/annenmaskin fins fra før.)
For å montere NFS-filsystemer ved oppstart, eller for å enkelt kunne montere dem senere, kan NFS-filsystemer legges i konfigurasjonsfilen /etc/fstab. Linjen som tilsvarer kommandoen over vil se slik ut:
maskin:/usr /mnt/annenmaskin nfs hard,intr 0 0
De som ikke bruker opsjonene hard,intr får akkurat så korrupte filer som de fortjener. (Nå er vel "hard" standard, spesifisert implisitt) "hard" betyr at Linuxkjernen skal la programmer som prøver å få tilgang til et frakoplet, montert NFS-filsystem henge intil kontakten er gjenopprettet. Motstykket er "soft" - at kernelen forteller de interesserte programmene "nei, beklager, mistet kontakten" - men nesten ingen programmer støtter dette.
Sikkerhet i NFS
NFS er ikke spesielt sikkert. Det støtter for eksempel ikke annen autentisering enn på IP-adresse, så om du har riktig IP-adresse og ber om å få kople til, så får du lov til dette. NFS 4 skal ha bedre støtte for autentisering. Dette impliserer at man stoler på klientene, da en bruker som er root på en klientmaskin har praktisk talt fulle rettigheter på det oppmonterte filsystemet. Men NFS egner seg godt på lokale nettverk hvor man kan stole på de tilknyttede PC-ene, og brukes svært ofte til å dele ut /home etc. på nettverk.
Versjoner
Se også
Eksterne ressurser
NFS-Howto (http://ldp.linux.no/HOWTO/NFS-HOWTO/)

