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.
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.
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.
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.