Muokataan sivua Fedora/NFSv4

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
''Tässä artikkelissa selostetaan NFS-protokollan version 4 käyttöä painottuen [[Fedora Linux]]in ja sen rinnakkais[[jakelu]]ihin. NFS:n käyttöä on selostettu yleisemmin artikkelissa [[NFS]].''
Hyvä opas löytyy osoitteesta http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html


NFS voi mm. seuraavia [[asetustiedosto]]ja ja skriptejä:
NFSv4 käyttää mm. seuraavia konfiguraatiotiedostoja ja skriptejä:


  /etc/[[fstab]] - asiakaskoneessa  
  /etc/fstab - asiakaskoneessa  
  /etc/[[exports]] - palvelimessa  
  /etc/exports - palvelimessa  
  /etc/[[auto.master]] – asiakaskoneessa  
  /etc/auto.master – asiakaskoneessa  
  /etc/sysconfig/nfs - palvelimessa  
  /etc/sysconfig/nfs - palvelimessa  
  /etc/[[idmapd.conf]] – asiakkaassa ja palvelimessa  
  /etc/idmapd.conf – asiakkaassa ja palvelimessa  
  /etc/[[gssapi_mech.conf]] - asiakkaassa ja palvelimessa  
  /etc/gssapi_mech.conf - asiakkaassa ja palvelimessa  
  /etc/init.d/[[portmap]] - asiakkaassa ja palvelimessa  
  /etc/init.d/portmap - asiakkaassa ja palvelimessa  
  /etc/init.d/nfs - palvelimessa
  /etc/init.d/nfs - palvelimessa
  /etc/init.d/[[rpcidmapd]] - asiakkaassa ja palvelimessa  
  /etc/init.d/rpcidmapd - asiakkaassa ja palvelimessa  




Oletuksena käytetään porttia 2049, joten avaa kyseinen portti [[palomuuri]]sta lisäämällä tiedostoon /etc/sysconfig/iptables rivi
Oletuksena käytetään porttia 2049, joten avaa kyseinen portti palomuurista lisäämällä tiedostoon /etc/sysconfig/iptables rivi
  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT <br>
  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT <br>


Käynnistä palomuuri uudestaan muutosten jälkeen:
Käynnistä palomuuri uudestaan muutosten jälkeen:
  # service [[iptables]] restart
  service iptables restart


Suojaa portmapper lisäämällä /etc/[[hosts.allow]] tiedostoon:
Suojaa portmapper lisäämällä /etc/hosts.allow tiedostoon:
  portmap : 127. : ALLOW
  portmap : 127. : ALLOW
  portmap : ALL : DENY
  portmap : ALL : DENY


Luo nfs-määrityksiä sisältävä tiedosto:
Luo nfs-määrityksiä sisältävä tiedosto:
  # [[touch]] /etc/sysconfig/nfs
  touch /etc/sysconfig/nfs


Lisää kyseiseen tiedostoon rivit
Lisää kys. tiedostoon rivit:<br>
  # Muuta tähän "yes", jos haluat Kerberos 5 -autentikoinnin
  # Muuta tähän , jos haluat Kerberos 5 autentikoinnin
SECURE_NFS="no"
SECURE_NFS=
  # NFS-prosessien määrä
  # NFS prosessien määrä
RPCNFSDCOUNT=8
RPCNFSDCOUNT=8<br>


Luo jaettavat kansiot:
Luo jaettavat kansiot:<br>
# [[mkdir]] /home/jako1<br>
mkdir /home/jako1<br>
# mkdir /home/jako2<br>
mkdir /home/jako2<br>
Luo jako1- ja jako2-kansioihin tekstitiedostot testaamista varten ja kirjoita niihin jotain sisältöä.
Luo jako1 ja jako2 kansioon tekstitiedostot testaamista varten ja kirjoita niihin jotain sisältöä.<br>


# [[touch]] /home/jako1/testi1.txt<br>
touch /home/jako1/testi1.txt<br>
# touch /home/jako2/testi2.txt<br>
touch /home/jako2/testi2.txt<br>


Käynnistä tarvittavat palvelut ([[portmap]], [[rpcidmapd]], [[nfslock]] ja nfs)
Käynnistä tarvittavat palvelut (portmap, rpcidmapd, nfslock ja nfs)<br>
# service portmap start
service portmap start <br>
# service rpcidmapd start
service rpcidmapd start<br>
# service nfslock start
service nfslock start<br>
# service nfs start
service nfs start<br>


Voit tarkistaa nfs:ään liittyvät palvelut komennolla:
Voit tarkistaa nfs:ään liittyvät palvelut komennolla:<br>
$ rpcinfo -p
rpcinfo -p <br>


sekä niihin liittyviä portteja komennolla:
sekä niihin liittyviä portteja komennolla:<br>
$ netstat -tupa
netstat -tupa<br>


==Asiakkaan puoli==


Suojaa portmapper:
Asiakkaan puoli:<br>
portmap : 127. : ALLOW
 
portmap : ALL : DENY
Suojaa portmapper:<br>
portmap : 127. : ALLOW<br>
portmap : ALL : DENY<br>
 
Luo liitospaikat:<br>
mkdir -m 755 /mnt/nfsjako1<br>
mkdir -m 755 /mnt/nfsjako2<br>


Luo liitospaikat:  
Käynnistä tarvittavat palvelut:<br>
# [[mkdir]] -m 755 /mnt/nfsjako1
service portmap start<br>
# mkdir -m 755 /mnt/nfsjako2
service rpcidmapd start<br>


Käynnistä tarvittavat palvelut:
# service portmap start
# service rpcidmapd start


==Vain luku -liitos==


===Palvelimessa===
Vain luku -liitos<br>
Muokkaa /etc/exports -tiedostoa:
/home/jako1 vastaanottavan.koneen.ip.osoite(ro,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongid=65534)


Otetaan muutokset käyttöön:
Palvelimessa: <br>
# [[exportfs]] -rv


Voit nähdä jaon parametrit komennolla:
muokkaa /etc/exports tiedostoa:<br>
# exportfs -v
/home/jako1 vastaanottavan.koneen.ip.osoite(ro,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>


Jaetut hakemistot näet myös komennolla:
Otetaan muutokset käyttöön:<br>
$ [[showmount]] -e
exportfs -rv<br>


===Asiakkaassa===
Voit nähdä jaon parametrit komennolla:<br>
exportfs -v<br>


Liittäminen tapahtuu [[mount]]-komennolla (irroittaminen komennolla [[umount]]). Mount-komento sisältää useita tarkenteita, katso lisää komennolla [[man]] mount.
Jaetut hakemistot näet myös komennolla:<br>
showmount -e<br><br>


o
Asiakkaassa:<br>
options ro(read-only)
intr
Mahdollistaa nfs-kutsun peruuttamisen kun palvelin ei vastaa
Liitä /home/jako1 oman koneesi /mnt/nfsjako1-hakemistoon komennolla:
# [[mount]] -t nfs4 -o ro,intr serverin_ip:/ /mnt/nfsjako1


Siirry liittämääsi hakemistoon:
Liittäminen tapahtuu mount komennolla (irroittaminen umount). Mount komento sisältää useita tarkenteita, katso lisää man mount komennolla.<br>
# [[cd]] /mnt/nfsjako1


Tarkista sisältö:
o<br>
# [[ls]]
options ro(read-only)<br>
intr<br>
Mahdollistaa nfs-kutsun peruuttamisen kun palvelin ei vastaa<br><br>
Liitä /home/jako1 oman koneesi /mnt/nfsjako1 hakemistoon komennolla:<br>
mount -t nfs4 -o ro,intr serverin_ip:/ /mnt/nfsjako1<br>


Yritä kirjoittaa hakemistoon:
Siirry liittämääsi hakemistoon:<br>
# [[touch]] jeejee.txt  (aiheuttaa virheen koska on vain lukuoikeudet)
cd /mnt/nfsjako1<br>


# cd (poistu /mnt/nfsjako1 hakemistosta, jotta voit irrottaa liitoksen)
Tarkista sisältö:<br>
# [[umount]] /mnt/nfsjako1
ls<br>


==Kirjoitusoikeudet sisältävä liitos==
Yritä kirjoittaa hakemistoon:<br>
touch jeejee.txt  (aiheuttaa virheen koska vain luku oikeudet)<br>


===Palvelimessa===
cd (poistu /mnt/nfsjako1 hakemistosta, jotta voit irrottaa liitoksen)<br>
umount /mnt/nfsjako1<br>
Kirjoitusoikeudet sisältävä liitos<br><br>


Muutetaan ensimmäiseksi jaettavan hakemiston oikeuksia komennolla:
Palvelimessa: <br><br>
# [[chmod]9 1777 /home/nfsjako2
Eli asetetaan kaikille kaikki oikeudet ja sen lisäksi sticky bit. Hakemistoon asetettu sticky bit tarkoittaa että vain tiedoston omistaja voi poistaa tiedoston kyseisestä hakemistosta.


Lisää /etc/exports tiedostoon rivi (ja kommentoi aiempi):
Muutetaan ensimmäiseksi jaettavan hakeiston oikeuksia komennolla:<br>
/home/jako2 vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)
chmod 1777 /home/nfsjako2<br>
Eli asetetaan kaikille kaikki oikeudet ja sen lisäksi sticky bit. Hakemistoon asetettu sticky bit tarkoittaa että vain tiedoston omistaja voi poistaa tiedoston kyseisestä hakemistosta.<br>


Otetaan muutokset käyttöön:
Lisää /etc/exports tiedostoon rivi (ja kommentoi aiempi):<br>
# exportfs -rv
/home/jako2 vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>


===Asiakkaassa===
Otetaan muutokset käyttöön:<br>
exportfs -rv<br><br>


# mount -t nfs4 -o rw,intr serverin_ip:/ /mnt/nfsjako2>
Asiakkaassa:<br><br>


Siirry liittämääsi hakemistoon:
mount -t nfs4 -o rw,intr serverin_ip:/ /mnt/nfsjako2<br>
# cd /mnt/nfsjako2


Yritä kirjoittaa hakemistoon:
Siirry liittämääsi hakemistoon:<br>
# touch jeejee.txt<br>
cd /mnt/nfsjako2<br>


Kirjoittaminen siis onnistuu asiakaskoneesta roottina ja tavallisena käyttäjänä, mutta poistaminen ja vain roottina tehtyjen tiedostojen (asiakaskoneen root ei ole palvelinkoneen root!) onnistuu vain rootilta.
Yritä kirjoittaa hakemistoon:<br>
touch jeejee.txt<br>


Asiakas- ja palvelinkoneessa tulee siis olla saman nimen ja [[UID]]:in omaavat käyttäjät, jotta kyseinen menettely olisi sujuvaa ([[NIS]]- tai [[LDAP]]-palveluiden ollessa käytössä asia onkin jo kunnossa). Voit luoda käyttäjän sekä palvelimeen että asiakaskoneeseen komennolla:<br>
Kirjoittaminen siis onnistuu asiakaskoneesta roottina ja tavallisena käyttäjänä, mutta poistaminen ja vain roottina tehtyjen tiedostojen (asiakaskoneen root ei ole palvelinkoneen root!) onnistuu vain rootilta.<br>
useradd -u uidnro username


Luo palvelimeen nfsuser1-niminen käyttäjä uid:llä 600:<br>
Asiakas- ja palvelinkoneessa tulee siis olla saman nimen ja uid:n omaavat käyttäjät, jotta kyseinen menettely olisi sujuvaa (NIS tai LDAP ollessa käytössä asia onkin jo kunnossa). Voit luoda käyttäjän sekä palvelimeen että asiakaskoneeseen komennolla:<br>
# useradd -u 600 nfsuser1<br>
useradd -u uidnro username<br>
# passwd nfsuser1<br>
Tämän lisäksi molempien koneiden tulee kuulua samaan domainiin. Muuta /etc/idmapd.conf -tiedostoon toimialueeksi sama kuin tulevaan asiakkaaseen.
Domain = sukunimesi.jee


Käynnistä rpcidmapd uudestaan
Luo sekä palvelimeen nfsuser1 niminen käyttäjä uid:llä 600:<br>
# service rpcidmapd restart
useradd -u 600 nfsuser1<br>
passwd nfsuser1<br>
Tämän lisäksi molempien koneiden tulee kuulua samaan domainiin. Muuta /etc/idmapd.conf tiedostoon toimialueeksi sama kuin tulevaan asiakkaaseen.<br>
Domain = sukunimesi.jee<br>


Siirry nfsuser1-käyttäjäksi asiakaskoneessa komennolla:
Käynnistä rpcidmapd uudestaan<br>
# su - nfsuser1
service rpcidmapd restart<br>


Luo tiedosto /mnt/nfsjako2-hakemistoon ja poista se:
Siirry nfsuser1 käyttäjäksi asiakaskoneessa komennolla:<br>
# touch /mnt/nfsjako2/poistettava.txt
su nfsuser1<br>
# rm /mnt/nfsjako2/poistettava.txt


# cd (poistu /mnt/nfsjako2-hakemistosta, jotta voit irrottaa liitoksen)
Luo tiedosto /mnt/nfsjako2 hakemistoon ja poista se:<br>
# umount /mnt/nfsjako2
touch /mnt/nfsjako2/poistettava.txt<br>
rm /mnt/nfsjako2/poistettava.txt<br><br>


==Automaattinen liitos==
cd (poistu /mnt/nfsjako2 hakemistosta, jotta voit irrottaa liitoksen)<br>
umount /mnt/nfsjako2<br><br>


Lisää asiakaskoneen /etc/[[fstab]]-tiedostoon rivi:
Automaattinen liitos:<br><br>
serverin_ip:/ /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0


Liitä asiakaskoneessa fstab-tiedostossa esitellyt jaot komennolla:
Lisää asiakaskoneen /etc/fstab tiedostoon rivi:<br>
# mount -v /mnt/nfsjako2
serverin_ip:/ /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0<br>


Irrota liitos:
Liitä asiakaskoneessa niinkuin fstab tiedostossa esitetty komennolla:<br>
# umount -v /mnt/nfsjako2
mount -v /mnt/nfsjako2<br>


==Useamman yhtäaikaisen nfsv4-jaon ja liitoksen tekeminen==
Irroita liitos:<br>
umount -v /mnt/nfsjako2<br><br>


Palvelimen jakamat jaot näkyvät yhtenä isona tiedostojärjestelmänä, mutta voit jakaa ja liittää useita hakemistoja mount --bind -komennon avulla.
Useamman yhtäaikaisen nfsv4-jaon ja liitoksen tekeminen<br><br>


===Palvelimessa===
Palvelimen jakamat jaot näkyvät yhtenä isona tiedostojärjestelmänä, mutta voit jakaa ja liittää useita hakemistoja mount --bind komennon avulla.<br><br>


Luo hakemisto /home/jako ja siirrä aiemmin tehdyt jako1 ja jako2 sen alle.
Palvelimessa:<br>


Muuta /home/jako/-hakemiston oikeudet
Luo hakemisto /home/jako ja siirrä aiemmin tehdyt jako1 ja jako2 sen alle.<br>
# [[chmod]] 1777 /home/jako<br>


Anna komennot:
Muuta /home/jako/ hakemiston oikeudet:<br>
# mount --bind /jako1 /home/jako/jako1
chmod 1777 /home/jako<br>
# mount --bind /jako2 /home/jako/jako2


Muuta /etc/exports-tiedosto muotoon (huomaa nohide vs fsid=0):
Anna komennot:<br>
/home/jako vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>
mount --bind /jako1 /home/jako/jako1<br>
/home/jako/jako1 vastaanottavan.koneen.ip.osoite(ro,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>
mount --bind /jako2 /home/jako/jako2<br>
/home/jako/jako2 vastaanottavan.koneen.ip.osoite(rw,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br><br>


===Asiakaskoneessa===
Muuta /etc/exports tiedosto muotoon (huomaa nohide vs fsid=0):<br>
Muuta /etc/[[fstab]]:in rivit muotoon:
/home/jako vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>
serverin_ip:/jako1 /mnt/nfsjako1 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0
/home/jako/jako1 vastaanottavan.koneen.ip.osoite(ro,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br>
serverin_ip:/jako2 /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0
/home/jako/jako2 vastaanottavan.koneen.ip.osoite(rw,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br><br>


Liitä nfs-jaot:
Asiakaskoneessa:<br><br>
# mount -v /mnt/nfsjako
# mount -v /mnt/nfsjako2


Laita palvelut käynnistymään automaattisesti:


# [[chkconfig]] --level 0123456 portmap off
Muuta /etc/fstab rivit muotoon:<br>
# chkconfig --level 345 portmap on
serverin_ip:/jako1 /mnt/nfsjako1 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0<br>
# chkconfig --level 0123456 rpcidmapd off
serverin_ip:/jako2 /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0<br>
# chkconfig --level 345 rpcidmapd on
# chkconfig --level 0123456 nfslock off
# chkconfig --level 345 nfslock on
# chkconfig --level 0123456 nfs off
# chkconfig --level 345 nfs on


==Katso myös==
Liitä nfs-jaot:<br>
*[[NFS]]
mount -v /mnt/nfsjako<br>
mount -v /mnt/nfsjako2<br>


==Aiheesta muualla==
Laita palvelut käynnistymään automaattisesti:<br>
*[http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html Laaja NFS-opas Fedora Core 2 -jakelulle]


[[Luokka:Ohjeet]]
chkconfig --level 0123456 portmap off<br>
[[Luokka:Tiedostojärjestelmät]]
chkconfig --level 345 portmap on<br>
[[Luokka:Verkko]]
chkconfig --level 0123456 rpcidmapd off<br>
[[Luokka:Fedora Linux]]
chkconfig --level 345 rpcidmapd on<br>
chkconfig --level 0123456 nfslock off<br>
chkconfig --level 345 nfslock on<br>
chkconfig --level 0123456 nfs off<br>
chkconfig --level 345 nfs on<br>
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)