28 | SAMBA

Microsoft implementációk


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)