28 | SAMBA
Ennyi háttérismeret birtokában most már megnézhetjük,
miként valósította meg a Micro-
soft a bemutatott koncepciókat a CIFS/SMB hálózatokon.
Amint várható volt, a gyakorlati
kivitelezés során néhány bonyolult bõvítésre
is sor került, melyekkel szintén megismer-
kedünk.
Windows tartományok
Emlékezzünk vissza
,hogy egy munkacsoport olyan SMB számítógépek együttese,
ame-
lyek mindegyike egy alhálózatban van, és ugyanahhoz az
SMB csoporthoz tartozik. Egy
Windows tartomány (domain) ennél egy lépéssel tovább
lép: ez a tartomány az SMB
gépek olyan csoportját jelenti, amelyben van egy kiszolgáló
is, amely a tartományvezérlõ
szerepkörét tölti be. Ahhoz, hogy egy munkacsoport Windows
tartománnyá váljék, a
munkacsoportban kell lennie egy tartományvezérlõnek. *Ellenkezõ
esetben csak egy
SMB munkacsoportról van szó (lásd az 1.11.ábrát).
1.11.ábra.Egy egyszerû
Windows tartomány
Jelenleg egy tartományvezérlõ
(logon kiszolgáló) két különálló
protokollt használ: egyet
a Windows 95/98-as gépekkel való kommunikációhoz,
egyet pedig a Windows NT
gépekkel való kommunikációhoz. Mivel a Samba jelenleg
csak a Windows 95/98-as gépek
tartományvezérlõ protokollját valósítja
meg (ami lehetõvé teszi, hogy tartományvezérlõ-
ként mûködjön Windows 9x gépek körében),
még nem támogatja teljes körûen a
Windows NT gépekhez szükséges ilyen protokollt. Ugyanakkor
a Samba fejlesztõ csapata
ígéretet tett arra, hogy a jövõbeli Samba 2.1-es változat
a Windows NT tartományvezérlõ
protokollt is támogatni fogja.
*A Windows tartományokat a Microsoft ,,Windows NT tartománynak
nevezi, mert feltételezi, hogy a
tartományvezérlõ szerepét Windows NT gépe
tölti be. Mivel azonban ezt a szerepet egy Samba gép is
betöltheti, a félreértések elkerülése
végett az ilyen csoportokat egyszerûen Windows tartománynak
nevezzük.
1.FEJEZET.ISMERKEDÉS A SAMBÁVAL | 29
Tartományvezérlõ
A tartományvezérlõ
egy Windows tartomány ideg központja, ahhoz hasonlóan, ami
épp
egy NIS kiszolgáló is az idegközpontja egy Unix hálózati
információszolgáltatásnak. A tar-
tományvezérlõk különbözõ feladatokért
felelnek. Az egyik ilyen felelõsségi kör, amellyel
foglalkoznunk kell, az úgynevezett hitelesítés. A hitelesítés
az az eljárás, amellyel megadha-
tó vagy megtagadható egy felhasználótól a
hozzáférés egy megosztott erõforráshoz vagy
másik hálózati géphez, tipikusan jelszó használata
révén.
Minden egyes tartományvezérlõ használ egy biztonságos
fiókkezelõt (SAM), amellyel
karbantartja a felhasználónév jelszó kombinációt.
A tartományvezérlõ ezután elkészíti
a
felhasználói nevekhez kapcsolt jelszavak központi tárát
(felhasználónként egy jelszó),
ami sokkal hatékonyabb, mintha külön-külön tartaná
nyilván az egyes ügyfeleket és a ren-
delkezésre álló hálózati erõforrásokhoz
tartozó jelszavak százait.
Amikor egy Windows tartományban egy nem hitelesített ügyfél
hozzá szeretne férni a
kiszolgáló megosztásaihoz, a kiszolgáló a
tartományvezérlõhöz fordul, és megkérdezi
tõle, hitelesítve van-e az adott felhasználó. Amennyiben
igen, akkor a kiszolgáló létrehoz
egy kapcsolatot azokkal a hozzáférési jogokkal, amelyekkel
a felhasználó az adott meg-
osztás vonatkozásában rendelkezik. Amennyiben nem, akkor
megtagadja a kapcsolat lét-
rehozását. Miután a tartományvezérlõ
elvégezte a felhasználó hitelesítését,
visszaküld a
felhasználónak egy speciális hitelesítõ jelzést,
úgyhogy a felhasználónak nem kell ismét
bejelentkeznie ugyanezen tartomány más erõforrásaihoz.
Ettõl a pillanattól kezdve úgy
tekinthetõ, hogy a felhasználó ,,bejelentkezett
magába a tartományba (lásd az 1.12.ábrát).
1.12.ábra.Tartományvezérlõ
használat a hitelesítéshez
30 | SAMBA
Elsõdleges és tartalék tartományvezérlõ
A Windows tartomány
egyik alapvetõ elve a redundancia. Azt a tartományvezérlõt,
ame-
lyik egy tartományban éppen aktív, elsõdleges tartományvezérlõnek
(PDC) nevezik. A tar-
tományban e mellett lehet még egy vagy több tartalék
tartományvezérlõ (BDC) is, ame-
lyek átvehetik az elsõdleges tartományvezérlõ
szerepét, ha az meghibásodna vagy elérhe-
tetlenné válna. A BDC-k sûrûn szinkronizálják
a SAM adatokkat az elsõdleges tartományve-
zérlõvel, így ha felmerül az igény, akkor bármelyikük
átveheti a az elsõdleges tartomány-
vezérlõ (PDC) szerepét anélkül, hogy zavart
okozna az ügyfelek körében. Tudjunk persze,
hogy a BDC-k a SAM adatoknak csak egy olvasható másolatával
rendelkeznek, ezért eze-
ket az adatokat úgy frissíthetik, hogy szinkronizálják
õket a PDC-vel. Egy Windows tarto-
mányban egy kiszolgáló bármelyik elsõdleges
vagy tartalék tartományvezérlõ SAM-ját
használhatja annak a felhasználónak a hitelesítéséhez,
aki megpróbál hozzáférni az erõ-
forrásaihoz,és be akar jelentkezni a tartományba.
Vegyük észre, hogy egy Windows munkacsoport és egy Windows
tartomány viselke-
dése számos tekintetben átfedi egymást. Ez nem véletlen,
hiszen a Windows tartományok
koncepciója csak a Windows NT 3.1 bevezetését követõen
alakult ki, és a Windows tarto-
mányokat szándékosan úgy tervezték meg, hogy
megtartsák a kompatibilitásukat a
Windows for Workgroups 3.1 változatban meglévõ munkacsoportokkal.
A lényeg nagyjá-
ból úgy foglalható össze, hogy egy Windows tartomány
egyszerûen olyan Windows mun-
kacsoportot jelent, amely kiegészül egy vagy több tartományvezérlõvel.
A Samba minden probléma nélkül elsõdleges tartományvezérlõként
mûködhet
Windows 95/98-as gépek között. Ugyanakkor a Samba 2.0 mint
elsõdleges tartományve-
zérlõ csak hitelesítési feladatokat tud ellátni;
jelenleg más feladatokat nem képes átvenni
egy PDC-tõl. (A könyv olvasásának idején talán
már létezik a Samba 2.1 változat, amivel a
Sambát NT ügyfelek körében is használhatju PDC-ként.)
Továbbá, mivel a Microsoft által
a SAM adatok szinkronizálásához használt protokoll
zárt protokoll, a Samba jelenleg tarta-
lék tartományvezérlõként sem használható.
Tallózás
A tallózás ebben
a szövegösszefüggésben magas szintû választ
jelent az olyan felhasználói
kérdésre, mint hogy ,,Milyen gépek vannak ebben a Windows
hálózatban?. Ügyeljünk
arra, hogy ennek a tallózásnak semmi köze sincs a World Wide
Weben való böngészés-
hez, eltekintve attól, hogy a tallózás azt is jelenti:
lássuk, mit is fedezhetünk fel a környeze-
tünkben. És van még egy közös sajátosságuk:
akárcsak a weben, egy hálózatban is megvál-
tozhat valami minden külön értesítés nélkül.
A tallózás használata nélkül a felhasználónak
ismernie kell annak az adott számítógép-
nek a nevét, amelyhez a hálózaton keresztül kapcsolódni
akar, majd egy alkalmazásban
vagy fájlkezelõben kézzel be kell írnia egy alábbihoz
hasonló UNC-t (Universal Naming
Convention),hogy kapcsolódhasson a hálózatra:
\\HYDRA\network\
A tallózással
viszont egy szabványos felhasználói illesztõfelületet
(GUI) használva, pél-
dául egy Windows ügyfél Hálózatok ablakában
egy egérkattintással megvizsgálhatjuk a
számítógép tartalmát.
1.FEJEZET.ISMERKEDÉS A SAMBÁVAL | 31
Tallózási szintek
Amint a fejezet elején
már említettük, egy SMB/CIFS hálózatban a tallózás
kétféle szintjé-
vel találkozhatunk:
Nézzük elõször
az elsõ szintet. Minden egyes Windows munkacsoport (vagy tartomány)
alhálózatában van egy számítógép,
amely a hálózaton aktuálisan elérhetõ gépek
listájának
karbantartásáért felel. Ennek a számítógépnek
helyi fõtallózó a neve, az általa karbantar-
tott listát pedig tallózólistának nevezik. Az alhálózatban
lévõ gépek ezt a tallózólistát hasz-
nálják, hogy csökkenthetõ legyen a tallózás
okozta hálózati forgalom nagysága. Ahelyett,
hogy minden egyes számítógép dinamikusan lekérdezné
az éppen rendelkezésre álló
számítógépek listáját, az illetõ
gép a helyi fõtallózóhoz fordul, amelytõl
megkapja a teljes
frissített listát.
Ahhoz, hogy egy felhasználó egy gép aktuális erõforrásai
között tallózhasson, kapcso-
lódnia kell az adott számítógéphez
a gépen lévõ információkat a tallózólistából
nem
tudja megkapni. Valamely gépen elérhetõ erõforrások
listájában úgy tallózhat, hogy a
Windows 95/98 vagy a Windows NT Hálózatok ablakában rákattint
az illetõ gép ikonjára.
Amint a fejezet elején láttuk, a gép erre megjeleníti
a rajta elérhetõ megosztott erõforrások
listáját, miután a felhasználó sikeresen
átesett a hitelesítésen.
Egy Windows munkacsoportban a kiszolgálók mindegyikének
miután regisztrálta a
NetBIOS nevét be kell jelentenie a jelenlétét a
helyi fõtallózónak, és (elméletileg) azt
is,
hogy kijelentkezik a munkacsoportból, amikor befejezi a mûködését.
A helyi fõtallózó
feladata, hogy feljegyezze, mit jelentettek be a kiszolgálók.
Hozzátesszük, hogy a helyi
fõtallózónak nem kell feltétlenül ugyanannak
a gépnek lennie, mint amelyik a korábban
tárgyalt NetBIOS név kiszolgáló (NBNS).
A korábban látott
szerepektõl eltérõen szinte bármilyen Windows gép
(NT kiszolgáló, NT
munkaállomás, 98, 95 vagy Windows 3.1 for Wor groups) betöltheti
a helyi fõtallózó sze-
repét. A tartományvezérlõ höz hasonlóan
a helyi fõtallózónak is lehet egy vagy több tar-
taléka a helyi alhálózatban, amely meghibásodás
vagy elérhetetlenség esetén átveszi a sze-
repét. A folyamatos mûködés biztosítása
céljából a helyi tartaléktallózók
gyakorta szinkro-
nizálják a listájukat a helyi fõtallózó
listájával. Bõvítsük ki az eddigi Windows tartomá-
nyun rajzát egy helyi fõtallózóval és egy
helyi tartalék tallózóval. Az eredmény az 1.13.
ábrán látható.
32 | SAMBA
1.13.ábra. Egy Windows
tartomány helyi fõtallózóval és helyi tartaléktallózóval
kiegészítve
Az alábbiak szerint
számíthatjuk ki azoknak a tartaléktallózóknak
a minimális számát,
amelyeket el kell helyezni egy munkacsoportban:
Jelenleg nincs felsõ
határa a helyi fõtallózó mellé telepíthetõ
tartalé tallózók számának.
Tallózó kiválasztása
A tallózás bármely
Windows munkacsoportban nagyon lényeges mûvelet. A hálózatokon
azonban nincs mindig minden rendben. Tegyük fel például,
hogy egy is cég fõnökének
asztalán álló Windows NT kiszolgáló játssza
a helyi fõtallózó szerepét a hálózatban
min-
daddig, amíg a fõnök ki nem kapcsolja a gépét,
és el nem megy ebédelni. Megegyezés
szerint ekkor az alkatrészraktárban lévõ Windows
NT munkaállomás veszi át a helyi fõtal-
lózó szerepét. Igen ám, csakhogy ezen a gépen
éppen egy gyengén megírt program fut,
ami teljes mértékben igénybe veszi a processzor erejét,
és nem tud megbirkózni az újabb
feladattal. Ebbõl levonhatjuk azt a következtetést, hogy
a tallózásnak igen nagyfokú türel-
met kell tanúsítania a jövõ, menõ kiszolgáló
iránt. Mivel szinte bármely Windows gép
alkalmas a tallózó szerepkör betöltésére,
lennie kell egy eljárásnak, hogy bármikor eldönt-
hetõ legyen, melyik gép vegye át ezt a feladatot. Ennek
a döntéshozó eljárásnak kiválasz-
tás (election) a neve.
A iválasztás algoritmusa majdnem az összes Windows operációs
rendszerbe be van
építve, tehát ezek megegyezhetnek egymással, hogy
melyikük legyen a helyi fõtallózó, és
melyikük a helyi tartaléktallózó. A választás
bármikor kikényszeríthetõ. Visszatérve az
1.FEJEZET.ISMERKEDÉS A SAMBÁVAL | 33
elõzõ példához,
tegyük fel, hogy a fõnök befejezte az ebédjét,
és újraindítja a kiszolgálóját.
Amikor a kiszolgáló feléled, bejelenti a jelenlétét
a hálózaton, végbemegy egy kiválasztás-
kérés, hogy lássa, még mindig az a gép-e
a fõtallózó, amelyik az alkatrészraktárban
van.
Miután elküld egy kiválasztáskérést,
minden egyes gép datagramokon keresztül szét-
küldi (broadcast) a magára vonatkozó információkat.
Ezek az információk a övetkezõ-
ket tartalmazzá :
Ezek az értékek határozzák meg, hogy melyik operációs
rendszernek van elsõbbsége, és
melyik töltheti be a helyi fõtallózó szerepkörét.(A
Felhasználók,biztonság és tartomá-
nyok címû 6.fejezet részletesebben is foglalkozik a kiválasztási
folyamattal.) A kiválasztás
programozástechnikai megvalósítása nem túl
elegáns, és biztonsági problémák is rontják
a helyzetet. Míg egy tallózó tartomány integrálható
tartományi biztonsággal, addig a
választási algoritmus nem veszi figyelembe, hogy mely számítógépekbõl
lettek tallózók.
Ezért a tallózó szolgáltatást futtató
bármely számítógép úgy regisztrálhatja
magát, mint
amelyik részt vesz a tallózó kiválasztásaában,
majd (miután gyõzött) képes lesz a tallózó-
lista módosítására. Ennek ellenére a tallózás
a windowsos hálózati munka egyik kulcsele-
me, és a kompatibilitás fenntartása iránti igények
azt is biztosítják, hogy a következõ évek-
ben is használatban maradjon.
Felbontható egy
Windows munkacsoport
több alhálózatra?
Igen, bár azok közül, aki ezt megtették, sokaknak nem
is fejfájást okozott. A több alhá-
lózatra való bontás lehetõségét a
Windows NT 3.5 vagy a Windows for Workgroups fej-
lesztõi eredetileg nem tervezték be. Ezért az a Windows
tartomány, amely két vagy több
alhálózatra van felbontva, a valóságban inkább
két vagy több egymáshoz ,,ragasztott
munkacsoportnak tekinthetõ, amelyek ugyanazon a néven osztoznak.
Jó hír azonban,
hogy továbbra is használható egy elsõdleges tartományvezérlõ
a hitelesítésre minden
egyes alhálózatban. Rossz hír viszont, hogy a tallózás
már nem annyira egyszerû dolog.
Amint korábban említettük, minden egyes alhálózatban
kell lennie egy saját helyi fõtal-
lózónak. Amikor egy Windows tartomány több alhálózatra
bomli ,a rendszergazdának a
gépek egyikét tartomány-fõtallózóvá
kell kijelölnie. Ez a tartomány-fõtallózó tartja
nyilván
a tallózólistát a teljes Windows tartományra vonatkozóan.
E tallózólista úgy készül,hogy
minden egyes helyi fõtallózó tallózólistája
rendszeres idõközönként szinkronizálódik
a
tartomány-fõtallózó listájával. A
szinkronizálást követõen a helyi fõtallózónak
és a tarto-
mány-fõtallózónak egymással azonos bejegyzéseket
ell tartalmaznia.Erre az 1.14. ábra
mutat példát.
34 | SAMBA
1.14.ábra.Egynél
több alhálózatra bontott munkacsoport
Jól hangzik? Azért ez még nem egészen a nirvána, a következõ okok miatt:
Minden egyes alhálózat helyi fõtallózója
továbbra is karbantartja az alhálózatára vonatko-
zó tallózólistát, és az alhálózatban
ez lesz a hiteles lista. Így ha egy számítógép
szeretné
látni a saját alhálózatán belüli kiszolgálók
listáját, akkor ennek az alhálózatnak a helyi fõtal-
lózóját kérdezi le. Ha egy számítógép
az alhálózatán kívüli kiszolgáló
listáját szeretné
megtekinteni, akkor is csak a helyi fõtallózót kell megkeresnie.
Erre azért van lehetõség,
mert az alhálózat helyi fõtallózójának
hiteles listája adott idõközönként szinkronizálódik
a
tartomány-fõtallózójával, ami viszont szinkronizálódik
a tartományban lévõ többi alháló-
1.FEJEZET.ISMERKEDÉS A SAMBÁVAL | 35
zat helyi fõtallózóival.
Ennek a mûveletnek a tallózólista továbbadása
(browse list propa-
gation)a neve.
Amennyiben szükséges, a Samba betöltheti a tartomány-fõtallózó
szerepét egy
Windows tartományban. Emellett még helyi fõtallózóként
is mûködhet egy Windows
alhálózatban,és szinkronizálhatja a saját
tallózólistáját a tartomány-fõtallózóéval.
A Windows Internet Name
Service (WINS)
A Windows Internet Name Service
(Windows internetes névszolgáltatás, WINS) a NetBI-
OS név kiszolgáló (NBNS) Microsoft általi megvalósítása.
Mint ilyen, a WINS a NetBIOS
számos jellemzõjét örökölte. Elõször
is a WINS egyszerû neveket használ a számítógépe
és a munkacsoportok azonosítására: egy géphez
például a fred egy munkacsoporthoz
pedig a CANADA név rendelhetõ. Emellett a WINS dinamikus: amikor
egy ügyfél elõször
kezdeményezi a kapcsolatfelvételt, meg kell adnia a gazdanevét,
a címét és a helyi WINS
kiszolgálóban lévõ munkacsoportjának a nevét.
A WINS kiszolgáló mindaddig fenntartja
a kapcsolatot, amíg az ügyfél rendszeres idõközönként
frissíti a WINS regisztrálását, jelez-
ve, hogy még kapcsolatban van a hálózattal. Jegyezzük
meg, hogy a WINS kiszolgáló
nem egy tartomány vagy egy munkacsoport jellegzetességei, hanem
bárhol lehetne, és
bárkit kiszolgálhatnak.
Több WINS kiszolgáló beállítható úgy,
hogy megadott idõ eltelte után egymást szinkro-
nizálják. Ez lehetõvé teszi, hogy a hálózatra
belépõ vagy onnan kijelentkezõ gépeket az
egyi WINS kiszolgáló egy másikhoz küldje. Míg
elméletben ez hatékonynak tûnik, hamar
zavarossá válhat a helyzet, ha több WINS kiszolgáló
fedi le a hálózatot. Mivel a WINS
kiszolgálók keresztül-kasul járhatnak több alhálózatban
(vagy fixen bekódoljuk egy WINS
iszolgáló címét minden egyes ügyfelünkbe,
vagy DHCP útján juthatun a címhez), gya -
ran hatékonyabb, ha a Windows tartományok számától
függetlenül minden egyes
Windows ügyfélhez ugyanazt a WINS kiszolgálót rendeljük.
Ilyen módon csak egyetlen
hiteles és a helyes információkat tartalmazó WINS
kiszolgálón lesz, és nem több, ame-
lyek közül mindegyik igyekezne folyamatosan szinkronban tartani magát
a legutolsó vál-
tozásokkal.
Az éppen aktív WINS kiszolgálót elsõdleges
WINS kiszolgálónak nevezik. E mellé egy
másodlagos WINS kiszolgáló is telepíthetõ,
amely az elsõdleges WINS kiszolgáló meghi-
básodása vagy elérhetetlenné válása
esetén átveszi annak a szerepét. Jegyezzük meg,
hogy itt nincs lehetõség olyan választásra, amellyel
meghatározhatnánk, hogy melyik gép-
bõl legyen elsõdleges vagy tartalék WINS kiszolgáló
a WINS kiszolgálók megválasztása
statikus, és a rendszergazdának elõre el kell döntenie,
hogy melyik legyen az. Mind az
elsõdleges, mind bármelyik tartalék WINS kiszolgáló
rendszeres idõközönként szinkroni-
zálja a címadatbázisait.
A Windows operációs rendszerek családján belül
csak egy NT munkaállomás vagy egy
NT kiszolgáló töltheti be a WINS kiszolgáló
szerepét. A Samba is mûködtethetõ elsõdleges
WINS kiszolgálóként,másodlagos WINS kiszolgálóként
viszont nem.
Mire képes a
Samba?
Az Olvasó feltehetõen
soha nem gondolta volna, hogy ennyire bonyolultak lehetnek a
Microsoft hálózatok. Nos, akkor lássuk, hogy miben segíthet
nekün a Samba! Az 1.6.táb-
36 | SAMBA
lázat felsorolja azokat
a szerepköröket, amelyeket a Samba egy Windows NT tartomány-
ban vagy Windows munkacsoportban betölthet, illetve nem tölthet be.
Látható, hogy
mivel az NT tartomány protokolljainak jó része a Microsoft
tulajdonában van, és még nem
dokumentálták õket, a Samba nem tudja helyesen szinkronizálni
az adatait egy Microsoft
kiszolgálóval, és számos helyen nem alkalmazható
tartalékgépként. Ugyanakkor a Samba
2.0 változata korlátozott mértékben már támogatja
az elsõdleges tartományvezérlõ hitele-
sítési protokolljait, és naponta újabb és
újabb funkciókkal gyarapszik.
1.6.táblázat.A
Samba ált l betölthetõ szerepkörök (a 2.0.4b változat
szerint)