Ero sivun ”Fedora/NFSv4” versioiden välillä
p (ihmeelliset merkit pois) |
Pb (keskustelu | muokkaukset) (pientä wikitystä + yhdistettävä-malline pois) |
||
Rivi 1: | Rivi 1: | ||
[[NFS]] käyttää mm. seuraavia [[asetustiedosto]]ja ja skriptejä: | |||
/etc/[[fstab]] - asiakaskoneessa | |||
/etc/[[exports]] - palvelimessa | |||
/etc/[[auto.master]] – asiakaskoneessa | |||
[[ | |||
/etc/exports - palvelimessa | |||
/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 | Oletuksena käytetään porttia 2049, joten avaa kyseinen portti [[palomuuri]]sta 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 | ||
Rivi 30: | Rivi 25: | ||
[[touch]] /etc/sysconfig/nfs | [[touch]] /etc/sysconfig/nfs | ||
Lisää | Lisää kyseiseen tiedostoon rivit | ||
# Muuta tähän "yes", jos haluat Kerberos 5 autentikoinnin | # Muuta tähän "yes", jos haluat Kerberos 5 -autentikoinnin | ||
SECURE_NFS="no" | SECURE_NFS="no" | ||
# NFS prosessien määrä | # NFS-prosessien määrä | ||
RPCNFSDCOUNT=8 | RPCNFSDCOUNT=8 | ||
Rivi 39: | Rivi 34: | ||
[[mkdir]] /home/jako1<br> | [[mkdir]] /home/jako1<br> | ||
mkdir /home/jako2<br> | mkdir /home/jako2<br> | ||
Luo jako1 ja jako2 | 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 | ||
Rivi 56: | Rivi 51: | ||
netstat -tupa | netstat -tupa | ||
==Asiakkaan puoli== | |||
==Asiakkaan puoli | |||
Suojaa portmapper: | Suojaa portmapper: | ||
Rivi 70: | Rivi 64: | ||
service portmap start | service portmap start | ||
service rpcidmapd start | service rpcidmapd start | ||
==Vain luku -liitos== | ==Vain luku -liitos== | ||
===Palvelimessa=== | ===Palvelimessa=== | ||
Muokkaa /etc/exports -tiedostoa: | |||
/home/jako1 vastaanottavan.koneen.ip.osoite(ro,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongid=65534) | /home/jako1 vastaanottavan.koneen.ip.osoite(ro,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongid=65534) | ||
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: | ||
Rivi 87: | Rivi 78: | ||
Jaetut hakemistot näet myös komennolla: | Jaetut hakemistot näet myös komennolla: | ||
showmount -e | [[showmount]] -e | ||
===Asiakkaassa=== | ===Asiakkaassa=== | ||
Liittäminen tapahtuu mount komennolla (irroittaminen umount). Mount-komento sisältää useita tarkenteita, katso lisää man mount | Liittäminen tapahtuu [[mount]]-komennolla (irroittaminen komennolla [[umount]]). Mount-komento sisältää useita tarkenteita, katso lisää komennolla [[man]] mount. | ||
o | o | ||
Rivi 97: | Rivi 88: | ||
intr | intr | ||
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 vain | [[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) | ||
Rivi 116: | Rivi 107: | ||
===Palvelimessa=== | ===Palvelimessa=== | ||
Muutetaan ensimmäiseksi jaettavan | Muutetaan ensimmäiseksi jaettavan hakemiston oikeuksia komennolla: | ||
chmod 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 138: | Rivi 129: | ||
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. | ||
Asiakas- ja palvelinkoneessa tulee siis olla saman nimen ja | 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> | ||
useradd -u uidnro username | useradd -u uidnro username | ||
Luo | 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 | ||
Rivi 150: | Rivi 141: | ||
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== | ||
Lisää asiakaskoneen /etc/fstab tiedostoon rivi: | Lisää asiakaskoneen /etc/[[fstab]]-tiedostoon rivi: | ||
serverin_ip:/ /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0 | serverin_ip:/ /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0 | ||
Liitä asiakaskoneessa | Liitä asiakaskoneessa fstab-tiedostossa esitellyt jaot komennolla: | ||
mount -v /mnt/nfsjako2 | mount -v /mnt/nfsjako2 | ||
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== | ||
Palvelimen jakamat jaot näkyvät yhtenä isona tiedostojärjestelmänä, mutta voit jakaa ja liittää useita hakemistoja mount --bind komennon avulla. | Palvelimen jakamat jaot näkyvät yhtenä isona tiedostojärjestelmänä, mutta voit jakaa ja liittää useita hakemistoja mount --bind -komennon avulla. | ||
===Palvelimessa=== | ===Palvelimessa=== | ||
Rivi 179: | Rivi 170: | ||
Luo hakemisto /home/jako ja siirrä aiemmin tehdyt jako1 ja jako2 sen alle. | Luo hakemisto /home/jako ja siirrä aiemmin tehdyt jako1 ja jako2 sen alle. | ||
Muuta /home/jako/ -hakemiston oikeudet | Muuta /home/jako/-hakemiston oikeudet | ||
chmod 1777 /home/jako<br> | [[chmod]] 1777 /home/jako<br> | ||
Anna komennot: | Anna komennot: | ||
Rivi 186: | Rivi 177: | ||
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): | ||
/home/jako vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br> | /home/jako vastaanottavan.koneen.ip.osoite(rw,fsid=0,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br> | ||
/home/jako/jako1 vastaanottavan.koneen.ip.osoite(ro,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br> | /home/jako/jako1 vastaanottavan.koneen.ip.osoite(ro,nohide,insecure,no_subtree_check,sync,anonuid=65534,anongig=65534)<br> | ||
Rivi 192: | Rivi 183: | ||
===Asiakaskoneessa=== | ===Asiakaskoneessa=== | ||
Muuta /etc/[[fstab]]:in rivit muotoon: | |||
Muuta /etc/fstab rivit muotoon: | |||
serverin_ip:/jako1 /mnt/nfsjako1 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0 | 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 | serverin_ip:/jako2 /mnt/nfsjako2 nfs4 rw,hard,intr,proto=tcp,port=2049,auto 0 0 | ||
Rivi 204: | Rivi 193: | ||
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 | ||
Rivi 213: | Rivi 202: | ||
chkconfig --level 345 nfs on | chkconfig --level 345 nfs on | ||
[[Luokka: | ==Katso myös== | ||
*[[NFS]] | |||
==Linkkejä== | |||
*[http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html Laaja NFS-opas Fedora Core 2 -jakelulle] | |||
[[Luokka:Ohjeet]] | |||
[[Luokka:Tiedostojärjestelmät]] | [[Luokka:Tiedostojärjestelmät]] | ||
[[Luokka:Verkko]] |
Versio 12. kesäkuuta 2007 kello 01.56
NFS käyttää 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
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
Palvelimessa
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
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
Palvelimessa
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
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
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
Palvelimen jakamat jaot näkyvät yhtenä isona tiedostojärjestelmänä, mutta voit jakaa ja liittää useita hakemistoja mount --bind -komennon avulla.
Palvelimessa
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
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