Next Previous Contents

3. Sette opp en NFS server

3.1 Forarbeid

Før du fortsetter å lese denne HOWTOen må du kunne telnet'e fram og tilbake mellom maskinen du bruker som server og klient-maskinen. Hvis det ikke virker må du lese networking/NET-2 HOWTO og sette opp nettverket skikkelig.

3.2 Første steg

Før vi kan gjøre noe trenger vi en NFS server som er satt opp. Hvis du er på skolen eller noe lignende er det sansynlig at flere NFS servere er satt opp. Hvis de gir deg adgang til dem eller du leser denne HOWTOen for å få adgang til en av dem trenger du åpenbart ikke å lese dette avsnittet. I såfall hopp videre til seksjonen, Sette opp en NFS klient

Hvis du trenger å sette opp en ikke-Linux maskin som server trenger du systemets manualer for å finne ut av hvordan du slår på NFS server og eksporterer filsystemer gjennom NFS. Det er et eget avsnitt i denne HOWTOen om hvordan det skal gjøres på flere forskjellige systemer. Etter at du har funnet ut av alt dette kan du fortsette lesingen av denne HOWTOen. Eller les mer i dette avsnittet siden en del som nevnes her er relevant uansett hva slags maskin du bruker som server.

De av dere som fremdeles leser nå blir nødt til å settet opp en del programmer.

3.3 Portmapperen

Portmapperen i Linux kalles enten portmap eller rpc.portmap. Man siden på mitt system sier at det er en "DARPA port to RPC program number mapper". Det er de første sikkerhetshull du vil åpne når du leser denne HOWTOen. Forklaringen på hvordan du tetter et av hullene er forklart i sikkerhets delen. Som jeg, igjen, anbefaler på det sterkeste at du leser.

Start portmapperen. Den kalles enten portmap eller rpc.portmap og skal finnes i /usr/sbin (på noen maskiner kalles den rpcbind). Du kan starte den for hånd nå, men senere trenger den å startes hver gang du restarter maskina så du trenger å lage/editere rc scriptene. RC scriptene er nærmere forklart i init man siden, de ligger vanligvis i /etc/rc.d, /etc/init.d eller /etc/rc.d/init.d. Hvis det er et script kallt noe lignende inet, så er det sansynligvis rette fil å editere. Men, hva som skal skrives eller gjøres på det området er utenfor hva denne HOWTOen omhandler. Start portmap og sjekk at den er i live ved å kjøre ps aux. Den er det? Bra.

3.4 Mountd og nfsd

De neste programmene vi trenger å få opp og kjøre er mountd og nfsd. Men først må vi editere en annen fil. /etc/exports denne gangen. Sett at vi har et filsystem /mn/eris/local som ligger på en maskin eris som vi ønsker skal være tilgjengelig for maskinen kallt apollon. Da putter jeg dette i /etc/exports til eris:


/mn/eris/local  apollon(rw)

Linja over gir apollon read/write access til /mn/eris/local. Istedetfor rw kan det stå ro som betyr read only (hvis du ikke putter noe der blir det automatisk read only). Det finnes andre valg du kan gi, og jeg vil diskutere noen sikkerhetsrettede senere. De er alle inkorporert i exports man siden som du bør ha lest minst en gang i livet. Det finnes også noen bedre måter enn å liste alle hosts i exports fila. Du kan for eksempel bruke net grupper hvis du kjører NIS (eller NYS) (NIS var kjent som YP), og alltid oppgi domene "wild cards" og IP-subnets som hosts som har lov til å mounte noe. Men du bør vurdere hvem som kan få adgang til serveren på uautoriserte måter dersom du bruker en slik type autorisering.

NB: Denne exports fila har ikke samme syntax som andre Unixer bruker. Det er en egen del i denne HOWTOen om andre Unixers exports filer.

Nå er vi klare til å start mountd (eller kanskje den er kallt rpc.mountd) og så nfsd (som kan være kallt rpc.nfsd). De vil begge lese exports filen.

Hvis du editerer /etc/exports vil du bli nødt til å være sikkert på at nfsd og mountd vet at filene er forandret. Den vanlige måten er å kjøre exportfs. Mange Linux distribusjoner mangler et exportfs program så hvis du er exportfs-løs kan du legge inn dette scriptet på maskina:


#!/bin/sh
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd
echo re-exporterte filsystemer

Lagre den som f eks /usr/sbin/exportfs, og ikke glem å chmod a+rx den. Når du nå forandrer exports fila kjører du exportfs etterpå, som root.

Nå bør du sjekke at mountd og nfsd kjører skikkelig. Først med rpcinfo -p. Den bør vise noe likt dette:


   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp    745  mountd
    100005    1   tcp    747  mountd
    100003    2   udp   2049  nfs
    100003    2   tcp   2049  nfs

Noen distribusjoner vil gi rpcbind istedetfor portmapper. (GE)

Som du ser har portmapper vist seg, og det har også mountd og nfsd.

Hvis du fårt rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused eller noe lignende istedet så kjører ikke portmapper. Fiks det! Hvis du får No remote programs registered. så vil enten portmapperen ikke snakke med deg, eller noe er galt. Kill nfsd, mountd, og portmapper og prøv start sekvensen igjen.

Etter å ha sjekket at portmapper rapporterer tjenestene kan du sjekke med ps også. Portmapperen vil fortsette å rapportere tjenestene selv etter at programmene som bruker dem har kræsjet. Så en ps sjekk kan være fin dersom noe virker ødelagt.

Selvfølgelig blir du nødt til å modifisere systemets rc files for å starte mountd og nfsd og også portmapper når du booter. Det er veldig sansynlig at scriptene allerede finnes på maskinen din, du må bare ta vekk kommenteringene eller aktivere den for å få rette run levels.

Man sidene bør du bli vant til nå: portmap, mountd, nfsd og exports.

Vel, hvis du har gjort alt nøyaktig som jeg har sagt at du skal så er du klar for å starte på NFS klienten.


Next Previous Contents