Dokumentáció/SL9.3/Szolgáltatások/Netatalk

Icon-netatalk.png A Netatalk segítségével nagyteljesítményű fájl- és nyomtatókiszolgáló készíthető MacOS kliensek részére. Használatával lehetséges az adatok elérése egy Linux kiszolgálón vagy nyomtatás a kapcsolódó nyomtatókra. A Netatalk név UNIX-programok egy csoportját jelenti, amely a kernel alapú DDP-t (datagram delivery protocol) és az AppleTalk protokollcsaládot (ADSP, ATP, ASP, RTMP, NBP, ZIP, AEP és PAP) használja.

Bevezetés

Az AppleTalk sok tekintetben hasonló a nála jóval elterjedtebb protokollhoz, a TCP-hez (transmission control protocol). Számos TCP/IP alapú szolgáltatáshoz használható, beleértve a számítógépnevek feloldását és az időszinkronizációt. Például az aecho (AEP, AppleTalk echo protocol) parancs hasonló feladatot lát el, mint a TCP/IP-világban a ping (ICMP ECHO_REQUEST). A kiszolgálón általában az alábbi három szolgáltatás fut:

  • atalkd (AppleTalk network manager), amely az ip programnak felel meg.
  • afpd (AppleTalk filing protocol daemon), amely átviteli közegként szolgált a Macintosh kliensek és a UNIX fájlrendszer között.
  • papd (printer access protocol daemon), amely elérhetővé teszi a nyomtatókat az (AppleTalk) hálózaton.

A kiszolgáló könyvtárai egyszerre exportálhatók Netatalk segítségével, a Windows kliensek számára Samba protokollon keresztül, sőt, akár NFS-en keresztül is (lásd Fájlrendszer megosztása NFS-sel). Ez igen hasznos heterogén hálózati környezetben. Ily módon központosítható a Linux kiszolgálók adatmentése és jogosultságkiosztásának kezelése is. Előfordul azonban néhány korlátozás is a Netatalkprotokoll használata esetén:

  • A Macintosh kliensek korlátai miatt, a felhasználói jelszó nem lehet hosszabb - a kiszolgálón - 8 karakternél.
  • A Macintosh kliensek nem képesek 31 karakternél hosszabb nevű fájlok elérésére.
  • A fájlnevek nem tartalmazhatnak kettőspontot, mivel az útvonal-elválasztóként szolgál a MacOS-ben.

A fájlkiszolgáló beállítása

Alapértelmezett beállítások mellett a Netatalk fájlkiszolgálóként működik a Linux home-könyvtárak eléréséhez. A bővített szolgáltatások használatához a konfigurációs fájlok néhány beállítását módosítani kell. Ezek a fájlok az/etc/netatalk könyvtárban találhatók.

Minden konfigurációs állomány sima szöveges fájl. A # jelet követő sorokat (megjegyzések) és az üres sorokat a rendszer nem veszi figyelembe. A különböző szolgáltatások (nyomtatás, Appletalk broadcast, Appletalk TCP/IP-n keresztül, időkiszolgáló) a /etc/netatalk/netatalk.conf fájlban kapcsolható be:

ATALKD_RUN=yes
PAPD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no

A hálózat konfigurálása — atalkd.conf

Az /etc/netatalk/atalkd.conf fájlban határozható meg, mely csatolókon keresztül érhetők el a szolgáltatások. Ez általában az eth0csatoló. A Netatalk példákban is ez a helyzet. A további csatolókat külön meg kell adni. Amint a kiszolgáló elindul, elkezdi a hálózaton keresni a már meglévő zónákat és kiszolgálókat, majd módosítja a megfelelő sorokat az AppleTalk hálózati cím beírásával. Ezek a sorok az alábbihoz hasonlók:
eth0 -phase 2 -net 0-65534 -addr 65280.57

Összetettebb példák a konfigurációs állományban találhatók. További információ olvasható az afd kézikönyvében is.

Icon-hardver.png IBM S/390, zSeries

Az IBM S/390 és zSeries csak IP protokollon keresztüli működést támogat. Az eljárás nem támogatt AppleTalk alatt.

Fájlkiszolgálók meghatározása — afpd.conf

Az afpd.conf fájl tartalmazza, hogyan jelenik meg a fájlkiszolgáló a MacOS kliensek részére a Chooser párbeszédablakaiban. Mint a többi konfigurációs állomány, ez is számos megjegyzést tartalmaz a beállítások megkönnyítéséhez. Amennyiben nem változtat semmin, az alapértelmezett kiszolgálót elindítva az a saját hosztnevével jelenik meg a Chooser programban. Nincs tehát feltétlenül szükséges a beállítások módosítására. Természetesen megadhatók további fájlkiszolgálók és beállítások, például egy olyan vendégkiszolgáló, amelyre bárki menthet fájlokat, mint guest felhasználó.
"Vendégkiszolgáló" -uamlist uams_guest.so 

Egy olyan kiszolgáló, amely nem engedi be a "guest" felhasználókat, csak a Linux rendszeren regisztráltakat, az alábbi paranccsal állítható be:

"Fontkiszolgáló" -uamlist uams_clrtxt.so,uams_dhx.so

A működést az uamlist paraméter befolyásolja, amelyet a szükséges hitelesítési modulok vesszővel elválasztott listája követ. Ha nem ad meg értéket, az összes folyamat használható.

Egy AppleShare kiszolgáló nemcsak AppleTalk protokollon keresztül szolgáltat, hanem (beágyazott) TCP/IP protokollon keresztül is. Az alapértelmezett port az 548-as. Az ugyanazon a gépn futó további AppleShare kiszolgálóknak külön portokat kell megadni, amennyiben ezek is elérhetők TCP protokollon keresztül. A szolgáltatások TCP/IP segítségével nemcsak az Appletalkot nem használó hálózatokból, hanem akár az Interneről is elérhetők. Ebben az esetben a szintaxis a következő:

"Fontkiszolgáló" -uamlist uams_clrtxt.so,uams_dhx.so -port 12000

Ebben az esetben az AppleShare kiszolgáló a 12000-es portot állítja be, majd Fontkiszolgáló néven jelenik meg a hálózaton, és nem engedélyezi a vendég (guest) kapcsolatokat. Ily módon viszont TCP/IP útválasztókon keresztül is elérhető.

Az AppleVolumes.default állomány (részletesen lásd lejjebb) adja meg, hogy a kiszogláló melyik könyvtára érhető el az AppleShare kiszolgálókon keresztül, mint hálózatikötet. A -defaultvol paraméter használatával egy AppleShare kiszolgálón megadható egy másik fájl, amely további könyvtárakat határoz meg. A megfelelő parancs (egy sorként olvasandó):

"Vendégkiszolgáló" -uamlist uams_guest.so -defaultvol /etc/netatalk/AppleVolumes.guest

Az afpd.conf további paramétereinek leírása a fájlban található.

Könyvtárak és hozzáférési jogosultságaik — AppleVolumes.default

Itt adhatók meg az exportálandó könyvtárak, valamint UNIX alapú felhasználó- és csoportjogosultságaik. A beállításokat az AppleVolumes.default fájl tartalmazza. Az AppleVolumes.default mellett további fájlok is készíthetők, például az AppleVolumes.guest (a-defaultvol paramétert megadva az afpd.conf állományban, lásd előző bekezdés), amelyet nem mindegyik kiszolgáló használ.
Icon-Important.png Fontos!

Ebben az esetben a szintaxis kissé megváltozott. Fontos megjegyezni ezt a változást, ha korábbi verzióról frissített. Például az új verzióban már allow: található az access= helyett. (Erre a hibára utal, ha a meghajtó beállításait látja a leírása helyett a Mac kliensen a Chooser segédprogramban). Mivel az új fájlok .rpmnew végződésűek egy frissítés esetén, lehetséges, hogy a régebbi beállítások nem fognak működni a módosított szintaxis miatt. Készítsen mentést a konfigurációs fájlokról, másolja át a régi konfigurációs állományokat új fájlokba, majd nevezze át ezeket a megfelelő névre. Ezzel a megoldással hasznosíthatja az új konfigurációs állomány megjegyzéseit, amelyek részletes leírást adnak a beállításokról.


Icon-example.png Egy példa:
az

/usr/local/psfonts "PostScript fontok"

beállítás azt jelenti, hogy az /usr/local/psfonts Linux könyvtár elérhető AppleShare kötetként, »PostScript fontok«néven.

A beállítások szóközzel vannak elválasztva. Egy igen hasznos beállítás a hozzáférések korlátozása:

/usr/local/psfonts "PostScript fontok" allow:User1,@group0

Ez korlátozza a »PostScript fontok« kötet elérését a »User1«felhasználó és a »group0« csoport minden tagja számára. Az itt megadott felhasználóknak és csoportoknak a Linux által ismertnek kell lennie. Hasonlóképpen tilthatjuk meg a felhasználók hozzáférését: deny:User2. Ezek a szabályozások csak az AppleTalk protokollon keresztüli hozzáférés esetén érvényesek és nem érintik a felhasználó normál fájlelérését, amennyiben a Linux-kiszolgálóról lép be.

A Netatalk .AppleDouble nevű könyvtárakat használ a MacOS fájlok egyedi "resource fork" részének kezelésére a Linux fájlrendszeren. A noadouble beállítás használata esetén ezek a könyvtárak kizárólag akkor jönnek létre, ha ténylegesen szükség van rájuk. A szintaxis a következő:

/usr/local/guests "Vendégek" options:noadouble

További leírás a beállításokról és szolgáltatásokról a fájlban olvasható.

A tilde (~) karakter az egyes felhasználók home-könyvtárát jelenti a konfigurációban. Ezzel a megoldással minden felhasználó könnyedén elérheti a home könyvtárát anélkül, hogy egyesével kellene őket meghatározni. Az alábbi példa tartalmaz tilde karaktert és ez az, amiért a Netatalk alapértelmezésben lehetővé teszi a home-könyvtár elérését.

Az afpd megkeresi az Applevolumes vagy .Applevolumesfájlt a belépett felhasználók saját könyvtárában. Az itt megadott bejegyzések kiegészítik a kiszolgáló AppleVolumes.system és AppleVolumes.defaultfájljainak beállításait, így lehetővé válik egyéni fájlbeállítások használata és egyéni könyvtárak elérése. Ezek a bejegyzések bővítések, vagyis nem adnak jogosultságot a felhasználónak, ha a hozzáférés a kiszolgáló oldalán egyébként meg van tagadva.

A netatalk.pamd fájl PAM (pluggable authentication modules) modulon keresztüli hitelesítésre használható. A PAM használata azonban ebben a vonatkozásban nem lényeges.

Filespecifikációk — AppleVolumes.system

Az AppleVolumes.System fájlban adható meg, hogy adott fájlvégződésekhez milyen MacOS típusok és létrehozók kerüljenek hozzárendelésre. Alapértelmezett beállítások egész sora már be van állítva előre. Ha a fájl egy általános fehér ikonként jelenik meg, akkor még nem tartozik bejegyzés a fájlhoz. Amennyiben egy másik rendszerhez tartozó szöveges fájllal adódnak problémák, amelyek nem nyithatók meg MacOS alatt vagy fordítva, ellenőrizze a beállításokat ebben a fájlban.

Nyomtatókiszolgáló beállítása

A nyomtatási szolgáltatás beállítása a papd.conf fájl segítségével történik. A nyomtatóknak már működniük kell helyi nyomtatóként lpdhasználatával, először tehát be kell állítani a nyomtatókat az Nyomtatók üzemeltetése részben leírtak szerint. Ha a szöveges fájlok nyomtatása már nem okoz gondot helyben az lpr file.txt parancs használatával, akkor az első lépésen sikeresen túl van.

Nem feltétlenül kell módosítani a papd.conf fájlon, ha egy helyi nyomtató be van állítva Linux alatt, mivel a nyomtatási feladatok egyszerűen továbbításra kerülnek az lpd segítségével a nyomtatóügynökhöz - minden további módosítás nélkül. A nyomtató regisztrálja magát az AppleTalk hálózaton, mint LaserWriter. A nyomtatási bejegyzések természetesen bővíthetők, az alábbiak szerint:

Printer_Porta:pr=lp:pd=/etc/netatalk/kyocera.ppd

Ebben az esetben Printer_Porta nevű nyomtató megjelenik a Chooser elemei között. A megfelelő nyomtatóleíró fájlt általában a gyártó adja. Ha nem, nézze meg a Laserwriter fájlt a System Extensions nevű mappában. Ha azonban ezt a fájlt alkalmazza, gyakran nem használhatja ki a nyomtató összes funkcióját.

A kiszolgáló elindítása

A kiszolgáló elindítható rendszerindításkor az init parancsfájlja segítségével, vagy kézzel az rcatalk start paranccsal. Az init parancsfájl az /etc/init.d/netatalk könyvtárban található. A kiszolgáló indítása a háttérben történik. Körülbelül egy percet vesz igénybe, amíg az AppleTalk csatolók elindulnak és válaszolnak. Ellenőrizze az állapotukat az alábbiak szerint (minden szolgáltatás megfelelően üzemel, ha három OKfeliratot lát):
rcatalk status
   
Checking for service atalk:OKOKOK

A MacOS-t futtató gépről ellenőrizze az AppleTalk aktiválását. Válassza a Filesharing lehetőséget, majd kattintson duplán az AppleShare menüpontra. A kiszolgáló neveinek meg kell jelennie az ablakban. Dupla kattintással válassza ki a kiszolgálót és lépjen be. Ezek után a kötetek elérhetők.

A folyamat egy kicsit különbözik olyan AppleShare kiszolgálók esetén, amelyet csak TCP-t használnak (és DDP-t nem). A csatlakozáshoz nyomja meg a Server IP address gombot és adja meg a megfelelő IP-címet. Ha szükséges, fűzze hozzá a portszámot egy kettősponttal elválasztva.

Icon-hardver.png IBM S/390, zSeries

Az S/390 és zSeries csak akkor képesek megérteni az AppleTalk protokollt, ha az AppleShare kiszolgáló be van állítva az AppleTalk protokoll TCP/IP forgalomba csomagolására.

További információ

Icon-hardver.png IBM S/390, zSeries

Netatalk S/390 és zSeries platformon

Az Netatalk által kínált összes lehetőség kihasználásához olvassa el a kapcsolódó kézikönyvet. Ehhez a következő parancsot kell kiadni: rpm -qd netatalk. Az /etc/netatalk/netatalk.conf fájlt nem használja a Netatalk e változata, azt nyugodtan ugorja át. További hasznos címek: