Ero sivun ”Fedora/NFSv4” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (selostava otsake)
Ei muokkausyhteenvetoa
 
(6 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
''Tässä artikkelissa selostetaan NFS-protokollan version 4 käyttöä painottuen [[Fedora]]an ja sen rinnakkais[[jakelu]]ihin. NFS:n käyttöä on selostettu yleisemmin artikkelissa [[NFS]].''
''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]].''


NFS voi mm. seuraavia [[asetustiedosto]]ja ja skriptejä:
NFS voi mm. seuraavia [[asetustiedosto]]ja ja skriptejä:
Rivi 18: Rivi 18:


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:
Rivi 25: Rivi 25:


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ää kyseiseen tiedostoon rivit
Rivi 34: Rivi 34:


Luo jaettavat kansiot:
Luo jaettavat kansiot:
  [[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-kansioihin tekstitiedostot testaamista varten ja kirjoita niihin jotain sisältöä.


  [[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)
  service portmap start
  # service portmap start
  service rpcidmapd start
  # service rpcidmapd start
  service nfslock start
  # service nfslock start
  service nfs start
  # service nfs start


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


sekä niihin liittyviä portteja komennolla:
sekä niihin liittyviä portteja komennolla:
  netstat -tupa
  $ netstat -tupa


==Asiakkaan puoli==
==Asiakkaan puoli==
Rivi 60: Rivi 60:


Luo liitospaikat:  
Luo liitospaikat:  
  [[mkdir]] -m 755 /mnt/nfsjako1
  # [[mkdir]] -m 755 /mnt/nfsjako1
  mkdir -m 755 /mnt/nfsjako2
  # mkdir -m 755 /mnt/nfsjako2


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


==Vain luku -liitos==
==Vain luku -liitos==
Rivi 74: Rivi 74:


Otetaan muutokset käyttöön:
Otetaan muutokset käyttöön:
  [[exportfs]] -rv
  # [[exportfs]] -rv


Voit nähdä jaon parametrit komennolla:
Voit nähdä jaon parametrit komennolla:
  exportfs -v
  # exportfs -v


Jaetut hakemistot näet myös komennolla:
Jaetut hakemistot näet myös komennolla:
  [[showmount]] -e
  $ [[showmount]] -e


===Asiakkaassa===
===Asiakkaassa===
Rivi 91: Rivi 91:
Mahdollistaa nfs-kutsun peruuttamisen kun palvelin ei vastaa
Mahdollistaa nfs-kutsun peruuttamisen kun palvelin ei vastaa
Liitä /home/jako1 oman koneesi /mnt/nfsjako1-hakemistoon komennolla:
Liitä /home/jako1 oman koneesi /mnt/nfsjako1-hakemistoon komennolla:
  [[mount]] -t nfs4 -o ro,intr serverin_ip:/ /mnt/nfsjako1
  # [[mount]] -t nfs4 -o ro,intr serverin_ip:/ /mnt/nfsjako1


Siirry liittämääsi hakemistoon:
Siirry liittämääsi hakemistoon:
  [[cd]] /mnt/nfsjako1
  # [[cd]] /mnt/nfsjako1


Tarkista sisältö:
Tarkista sisältö:
  [[ls]]
  # [[ls]]


Yritä kirjoittaa hakemistoon:
Yritä kirjoittaa hakemistoon:
  [[touch]] jeejee.txt  (aiheuttaa virheen koska on vain lukuoikeudet)
  # [[touch]] jeejee.txt  (aiheuttaa virheen koska on vain lukuoikeudet)


  cd (poistu /mnt/nfsjako1 hakemistosta, jotta voit irrottaa liitoksen)
  # cd (poistu /mnt/nfsjako1 hakemistosta, jotta voit irrottaa liitoksen)
  [[umount]] /mnt/nfsjako1
  # [[umount]] /mnt/nfsjako1


==Kirjoitusoikeudet sisältävä liitos==
==Kirjoitusoikeudet sisältävä liitos==
Rivi 110: Rivi 110:


Muutetaan ensimmäiseksi jaettavan hakemiston oikeuksia komennolla:
Muutetaan ensimmäiseksi jaettavan hakemiston oikeuksia komennolla:
  [[chmod]9 1777 /home/nfsjako2
  # [[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.
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.


Rivi 117: Rivi 117:


Otetaan muutokset käyttöön:
Otetaan muutokset käyttöön:
  exportfs -rv
  # exportfs -rv


===Asiakkaassa===
===Asiakkaassa===


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


Siirry liittämääsi hakemistoon:
Siirry liittämääsi hakemistoon:
  cd /mnt/nfsjako2
  # cd /mnt/nfsjako2


Yritä kirjoittaa hakemistoon:
Yritä kirjoittaa hakemistoon:
  touch jeejee.txt<br>
  # touch jeejee.txt<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.
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.
Rivi 135: Rivi 135:


Luo palvelimeen nfsuser1-niminen käyttäjä uid:llä 600:<br>
Luo palvelimeen nfsuser1-niminen käyttäjä uid:llä 600:<br>
  useradd -u 600 nfsuser1<br>
  # useradd -u 600 nfsuser1<br>
  passwd 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.
Tämän lisäksi molempien koneiden tulee kuulua samaan domainiin. Muuta /etc/idmapd.conf -tiedostoon toimialueeksi sama kuin tulevaan asiakkaaseen.
Domain = sukunimesi.jee
Domain = sukunimesi.jee


Käynnistä rpcidmapd uudestaan
Käynnistä rpcidmapd uudestaan
  service rpcidmapd restart
  # service rpcidmapd restart


Siirry nfsuser1-käyttäjäksi asiakaskoneessa komennolla:
Siirry nfsuser1-käyttäjäksi asiakaskoneessa komennolla:
  su nfsuser1
  # su - nfsuser1


Luo tiedosto /mnt/nfsjako2-hakemistoon ja poista se:
Luo tiedosto /mnt/nfsjako2-hakemistoon ja poista se:
  touch /mnt/nfsjako2/poistettava.txt
  # touch /mnt/nfsjako2/poistettava.txt
  rm /mnt/nfsjako2/poistettava.txt
  # rm /mnt/nfsjako2/poistettava.txt


  cd (poistu /mnt/nfsjako2-hakemistosta, jotta voit irrottaa liitoksen)
  # cd (poistu /mnt/nfsjako2-hakemistosta, jotta voit irrottaa liitoksen)
  umount /mnt/nfsjako2
  # umount /mnt/nfsjako2


==Automaattinen liitos==
==Automaattinen liitos==
Rivi 159: Rivi 159:


Liitä asiakaskoneessa fstab-tiedostossa esitellyt jaot komennolla:
Liitä asiakaskoneessa fstab-tiedostossa esitellyt jaot komennolla:
  mount -v /mnt/nfsjako2
  # mount -v /mnt/nfsjako2


Irrota liitos:
Irrota liitos:
  umount -v /mnt/nfsjako2
  # umount -v /mnt/nfsjako2


==Useamman yhtäaikaisen nfsv4-jaon ja liitoksen tekeminen==
==Useamman yhtäaikaisen nfsv4-jaon ja liitoksen tekeminen==
Rivi 173: Rivi 173:


Muuta /home/jako/-hakemiston oikeudet
Muuta /home/jako/-hakemiston oikeudet
  [[chmod]] 1777 /home/jako<br>
  # [[chmod]] 1777 /home/jako<br>


Anna komennot:
Anna komennot:
  mount --bind /jako1 /home/jako/jako1
  # mount --bind /jako1 /home/jako/jako1
  mount --bind /jako2 /home/jako/jako2
  # mount --bind /jako2 /home/jako/jako2


Muuta /etc/exports-tiedosto muotoon (huomaa nohide vs fsid=0):
Muuta /etc/exports-tiedosto muotoon (huomaa nohide vs fsid=0):
Rivi 190: Rivi 190:


Liitä nfs-jaot:
Liitä nfs-jaot:
  mount -v /mnt/nfsjako
  # mount -v /mnt/nfsjako
  mount -v /mnt/nfsjako2
  # mount -v /mnt/nfsjako2


Laita palvelut käynnistymään automaattisesti:
Laita palvelut käynnistymään automaattisesti:


  [[chkconfig]] --level 0123456 portmap off
  # [[chkconfig]] --level 0123456 portmap off
  chkconfig --level 345 portmap on
  # chkconfig --level 345 portmap on
  chkconfig --level 0123456 rpcidmapd off
  # chkconfig --level 0123456 rpcidmapd off
  chkconfig --level 345 rpcidmapd on
  # chkconfig --level 345 rpcidmapd on
  chkconfig --level 0123456 nfslock off
  # chkconfig --level 0123456 nfslock off
  chkconfig --level 345 nfslock on
  # chkconfig --level 345 nfslock on
  chkconfig --level 0123456 nfs off
  # chkconfig --level 0123456 nfs off
  chkconfig --level 345 nfs on
  # chkconfig --level 345 nfs on


==Katso myös==
==Katso myös==
*[[NFS]]
*[[NFS]]


==Linkkejä==
==Aiheesta muualla==
*[http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html Laaja NFS-opas Fedora Core 2 -jakelulle]
*[http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html Laaja NFS-opas Fedora Core 2 -jakelulle]


Rivi 213: Rivi 213:
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Verkko]]
[[Luokka:Verkko]]
[[Luokka:Fedora Linux]]

Nykyinen versio 1. tammikuuta 2022 kello 16.37

Tässä artikkelissa selostetaan NFS-protokollan version 4 käyttöä painottuen Fedora Linuxin ja sen rinnakkaisjakeluihin. NFS:n käyttöä on selostettu yleisemmin artikkelissa NFS.

NFS voi mm. seuraavia asetustiedostoja ja skriptejä:

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


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 

Käynnistä palomuuri uudestaan muutosten jälkeen:

# service iptables restart

Suojaa portmapper lisäämällä /etc/hosts.allow tiedostoon:

portmap : 127. : ALLOW
portmap : ALL : DENY

Luo nfs-määrityksiä sisältävä tiedosto:

# touch /etc/sysconfig/nfs

Lisää kyseiseen tiedostoon rivit

# Muuta tähän "yes", jos haluat Kerberos 5 -autentikoinnin

SECURE_NFS="no"

# NFS-prosessien määrä

RPCNFSDCOUNT=8

Luo jaettavat kansiot:

# mkdir /home/jako1
# mkdir /home/jako2

Luo jako1- ja jako2-kansioihin tekstitiedostot testaamista varten ja kirjoita niihin jotain sisältöä.

# touch /home/jako1/testi1.txt
# touch /home/jako2/testi2.txt

Käynnistä tarvittavat palvelut (portmap, rpcidmapd, nfslock ja nfs)

# service portmap start
# service rpcidmapd start
# service nfslock start
# service nfs start

Voit tarkistaa nfs:ään liittyvät palvelut komennolla:

$ rpcinfo -p

sekä niihin liittyviä portteja komennolla:

$ netstat -tupa

Asiakkaan puoli[muokkaa]

Suojaa portmapper:

portmap : 127. : ALLOW
portmap : ALL : DENY

Luo liitospaikat:

# mkdir -m 755 /mnt/nfsjako1
# mkdir -m 755 /mnt/nfsjako2

Käynnistä tarvittavat palvelut:

# service portmap start
# service rpcidmapd start

Vain luku -liitos[muokkaa]

Palvelimessa[muokkaa]

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:

# exportfs -rv

Voit nähdä jaon parametrit komennolla:

# exportfs -v

Jaetut hakemistot näet myös komennolla:

$ showmount -e

Asiakkaassa[muokkaa]

Liittäminen tapahtuu mount-komennolla (irroittaminen komennolla umount). Mount-komento sisältää useita tarkenteita, katso lisää komennolla man mount.

o 
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:

# cd /mnt/nfsjako1

Tarkista sisältö:

# ls

Yritä kirjoittaa hakemistoon:

# touch jeejee.txt   (aiheuttaa virheen koska on vain lukuoikeudet)
# cd (poistu /mnt/nfsjako1 hakemistosta, jotta voit irrottaa liitoksen)
# umount /mnt/nfsjako1

Kirjoitusoikeudet sisältävä liitos[muokkaa]

Palvelimessa[muokkaa]

Muutetaan ensimmäiseksi jaettavan hakemiston oikeuksia komennolla:

# [[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):

/home/jako2 vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)

Otetaan muutokset käyttöön:

# exportfs -rv

Asiakkaassa[muokkaa]

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

Siirry liittämääsi hakemistoon:

# cd /mnt/nfsjako2

Yritä kirjoittaa hakemistoon:

# touch jeejee.txt

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.

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:

useradd -u uidnro username

Luo palvelimeen nfsuser1-niminen käyttäjä uid:llä 600:

# useradd -u 600 nfsuser1
# passwd nfsuser1

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

# service rpcidmapd restart

Siirry nfsuser1-käyttäjäksi asiakaskoneessa komennolla:

# su - nfsuser1

Luo tiedosto /mnt/nfsjako2-hakemistoon ja poista se:

# touch /mnt/nfsjako2/poistettava.txt
# rm /mnt/nfsjako2/poistettava.txt
# cd (poistu /mnt/nfsjako2-hakemistosta, jotta voit irrottaa liitoksen)
# umount /mnt/nfsjako2

Automaattinen liitos[muokkaa]

Lisää asiakaskoneen /etc/fstab-tiedostoon rivi:

serverin_ip:/ 	/mnt/nfsjako2		nfs4	rw,hard,intr,proto=tcp,port=2049,auto 	0 0

Liitä asiakaskoneessa fstab-tiedostossa esitellyt jaot komennolla:

# mount -v /mnt/nfsjako2

Irrota liitos:

# umount -v /mnt/nfsjako2

Useamman yhtäaikaisen nfsv4-jaon ja liitoksen tekeminen[muokkaa]

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

Palvelimessa[muokkaa]

Luo hakemisto /home/jako ja siirrä aiemmin tehdyt jako1 ja jako2 sen alle.

Muuta /home/jako/-hakemiston oikeudet

# chmod 1777 /home/jako

Anna komennot:

# mount --bind /jako1 /home/jako/jako1
# mount --bind /jako2 /home/jako/jako2

Muuta /etc/exports-tiedosto muotoon (huomaa nohide vs fsid=0):

/home/jako vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)
/home/jako/jako1 vastaanottavan.koneen.ip.osoite(ro,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)
/home/jako/jako2 vastaanottavan.koneen.ip.osoite(rw,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)

Asiakaskoneessa[muokkaa]

Muuta /etc/fstab:in rivit muotoon:

serverin_ip:/jako1 	/mnt/nfsjako1		nfs4 rw,hard,intr,proto=tcp,port=2049,auto 	0 0
serverin_ip:/jako2 	/mnt/nfsjako2		nfs4 rw,hard,intr,proto=tcp,port=2049,auto 	0 0

Liitä nfs-jaot:

# mount -v /mnt/nfsjako
# mount -v /mnt/nfsjako2

Laita palvelut käynnistymään automaattisesti:

# chkconfig --level 0123456 portmap off
# chkconfig --level 345 portmap on
# chkconfig --level 0123456 rpcidmapd off
# 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[muokkaa]

Aiheesta muualla[muokkaa]