Dokumentáció/SL9.3/Szolgáltatások/Fájlrendszer megosztása NFS-sel

Icon-nfs.png Amint azt a A NIS használata bemutatta, az NFS a NIS-sel együttműködik, hogy átlátszóvá tegye a hálózatot a felhasználók számára. Az NFS segítségével a fájlrendszereket meg lehet osztani a hálózat gépei között. Mindegy, hogy a felhasználó melyik terminálon jelentkezik be, mindig ugyanabban a környezetben találja magát. Csakúgy, mint a NIS, az NFS is egy aszimmetrikus szolgáltatás. Vannak NFS-szerverek és NFS-kliensek. Egy gép betöltheti mindkét szerepet – fájlrendszereket szolgáltathat a hálózaton (exportálás) és felcsatolhat fájlrendszereket más gépekről (importálás). Ezek a szerverek általában nagy merevlemez-kapacitással rendelkeznek, melyek fájlrendszereit más kliensek kapcsolják fel.
Icon-Important.png Igény a DNS-re

Az exportálás elvileg végrehajtható csak IP-címekkel. Az időtúllépések elkerüléséhez azonban szükség van egy működő DNS-rendszerre. Ez legalább a bejelentkezéshez szükséges, mivel a mountd démon végez fordított keresést.

Fájlrendszerek importálása a YaST segítségével

Az erre jogosult felhasználók egy NFS-szerverről fel tudják csatolni az NFS-könyvtárakat a saját fájlrendszer-fastruktúráikba. Ez legegyszerűbben a YaST NFS-kliens modul segítségével érhető el. Csak adja meg az NFS-szerver gépnevét, az importálni kívánt könyvtárat és a csatolási pontot, ahová a könyvtárat helyben fel kell kapcsolni. Mindez meg is történik azután, hogy az első párbeszédablakban rákattint a Hozzáadás gombra (NFS-kliens beállítása a YaST segítségével).
NFS-kliens beállítása a YaST segítségével

Fájlrendszerek kézi importálása

A fájlrendszerek egyszerűen importálhatók kézzel egy NFS-szerverről. Az egyetlen előfeltétel egy futó RPC portleképező, amely az rcportmap start parancs kiadásával indítható el (ezt csak a root felhasználó teheti meg). Ha ez a feltétel teljesül, akkor a megfelelő gépeken exportált távoli fájlrendszerek úgy csatolhatók fel a mount parancs segítségével a fájlrendszeren, mint a helyi merevlemezek, az alábbi szintaxissal:
mount gép:távoli-elérési-út helyi-elérési-út 

Ha a sun gép felhasználói könyvtárait kell például importálni, akkor használja az alábbi parancsot:

mount sun:/home /home

Fájlrendszerek exportálása a YaST segítségével

A YaST segítségével a hálózat egyik gépét alakítsa NFS-szerverré – egy olyan szerverré, amely könyvtárakat és fájlokat exportál az összes többi olyan gép számára, amelyek a megfelelő jogosultsággal rendelkeznek. Így például biztosíthatók egy csoport számára a szükséges alkalmazások anélkül, hogy helyileg telepíteni kellene őket minden egyes gépen. Egy ilyen szerver telepítéséhez indítása el a YaST programot és válassza ki a Hálózati szolgáltatásokNFS szerver menüpontot. Megjelenik egy hasonló párbeszédablak, mint a NFS-szerverkonfigurációs eszköz.
NFS-szerverkonfigurációs eszköz

Következő lépésként jelölje meg az NFS-szerver indítása lehetőséget, majd kattintson a Következő gombra. A felső szövegmezőben adja meg az exportálandó könyvtárakat. Alul azokat a gépeket adja meg, amelyeknek el kell érnie ezeket a könyvtárakat. A párbeszédablak a következő ábrán (NFS-szerver beállítása a YaST segítségével) látható. Minden géphez négyféle lehetőség választható: önálló gép, hálózati csoport, dzsókernév és IP-hálózat. A beállítások részletesebb leírása a man exports paranccsal kérhető le. A Kész befejezi a konfigurációt.

NFS-szerver beállítása a YaST segítségével
Icon-Important.png Automatikus tűzfalkonfiguráció

Ha van a rendszeren aktív tűzfal (SuSEfirewall2), akkor a YaST a Tűzfal portjának megnyitása lehetőség kiválasztására módosítja a tűzfal konfigurációját és engedélyezi az nfs szolgáltatást.

Fájlrendszerek kézi exportálása

Ha nem kívánja használni a YaST szoftvert, akkor ellenőrizze, hogy az alábbi programok futnak-e az NFS-szerveren:
  • RPC portmapper (portmap)
  • RPC mount démon (rpc.mountd)
  • RPC NFS démon (rpc.nfsd)

Annak érdekében, hogy az /etc/init.d/portmap és az /etc/init.d/nfsserver parancsfájlok a rendszer indításakor elindítsák ezeket a szolgáltatásokat, adja ki az insserv /etc/init.d/nfsserver és insserv /etc/init.d/portmap parancsot. Azt is adja meg, hogy mely fájlrendszereket kell exportálni az /etc/exports konfigurációs fájlban megadott mely gépekhez. Minden exportálandó könyvtárhoz meg kell adni egy sort annak beállításához, hogy mely gépek milyen jogosultsággal érhetik el az adott könyvtárat. A könyvtár összes alkönyvtára automatikusan exportálásra kerül. A jogosult gépek általában teljes nevükkel vannak megadva (a tartománynevet is beleértve), de helyettesítő karakterek is használhatók, mint például * vagy ? (amelyek ugyanúgy kerülnek kibontásra, mint Bash parancsértelmezőben). Ha itt nincs gép megadva, akkor az adott jogosultságokkal rendelkező bármelyik gép importálhatja ezt a fájlrendszert.

A gép neve után zárójelek között adja meg az exportálandó fájlrendszer jogosultságait. A legfontosabb paraméterek: Exportált fájlrendszer jogosultságai.


Táblázat: Exportált fájlrendszer jogosultságai
paraméter jelentés
ro A fájlrendszer csak olvasható (read-only) jogosultsággal kerül exportálásra (alapértelmezett).
rw A fájlrendszer olvasás-írás (read-write) jogosultsággal kerül exportálásra.
root_squash Ez biztosítja, hogy az importáló gép root felhasználója ne rendelkezzen root jogosultságokkal a fájlrendszeren. Ez a 65534 felhasználói azonosító a 0 felhasználói azonosítóval rendelkező (root) felhasználókhoz rendelésével érhető el. Ezt a felhasználói azonosítót nobody értékre kell állítani (ez az alapértelmezett érték).
no_root_squash A 0 felhasználói azonosító nem kerül hozzárendelésre a 65534-es felhasználói azonosítóhoz, a root jogosultságok érvényben maradnak.
link_relative Az abszolút (/ jellel kezdődő) hivatkozások átalakítása ../ karakterrel kezdődőkre. Ez csak akkor hasznos, ha a gép teljes fájlrendszere fel lett csatolva (de ez az alapértelmezés).
link_absolute A szimbolikus láncok érintetlenek maradnak.
map_identity A felhasználói azonosítók pontosan ugyanazok a kliensen és a szerveren (ez az alapértelmezés).
map_daemon A kliens és szerver felhasználói azonosítói nem egyeznek. Ez utasítja az nfsd-t, hogy hozzon létre konverziós táblázatot a felhasználói azonosítókhoz. Ahhoz, hogy ez működjön, szükség van az ugidd démonra is.


Az exports fájl például nézhet úgy ki, mint a /etc/exports. Az /etc/exports fájlt a mountd és az nfsd olvassa. Ha a fájlt módosítja, akkor indítsa újra a mountd és nfsd démonokat a módosítások érvényre juttatásához. Ez az rcnfsserver restart paranccsal egyszerűen végrehajtható.


Icon-example.png Példa: /etc/exports

#
# /etc/exports
#
/home            sun(rw)   venus(rw)
/usr/X11         sun(ro)   venus(ro)
/usr/lib/texmf   sun(ro)   venus(rw)
/                earth(ro,root_squash)
/home/ftp        (ro)
# Exportálások vége