Professional Documents
Culture Documents
Samba 1
Samba 1
DAVID COLLIER-BROWN
PETER KELLY
Samba
ROBERT ECKSTEIN
DAVID COLLIER-BROWN
PETER KELLY
KOSSUTH KIAD
FORDTOTTA
INOTAI LSZL
LEKTORLTK
Elsz
Reggel kilenc ra, s ppen most rkeztnk egy kellemesen taludt jszaka utn a szmtgpkzpontba. Rendszergazdaknt kellemes az letnk mirt is ne lenne az, ha kivlan mkdik a hlzatunk? Ktszz egyforma szmtgp, s mindegyiken ugyanaz az
opercis rendszer. Az sszes nyomtat bektve a hlzatba, s brmelyik brhonnan
elrhet az pleten bell. Az automata konfigurcis szkripteknek ksznheten a cg
sszes dolgozja szmra azonos mdon jelennek meg azok a megosztott lemezek, amelyeket belltottunk a szmukra. Igen, gy valban kellemes az let. Htradlnk a karosszkben, s belekstolunk az els reggeli kvba
Aztn egyszer csak riaszts zkkent ki bennnket a kellemes semmittevsbl. Csak
rossz lom lehet gondoljuk. Sajnos nem, ez a valsg! Ngy klnbz szmtgp
hrom eltr opercis rendszert futtatva ktsgbeesetten prbl meg kapcsolatot teremteni, s sznet nlkl cseng a telefon. A felhasznlink tbbsge nem rti, mirt nem tud
hozzfrni egy msik szmtgpen lv llomnyhoz, vagy mirt nem tud nyomtatni egy
tvoli nyomtatn. A naplfjlok arrl tanskodnak, hogy mr ks biztonsgi msolatokat kszteni. Valamilyen rejtlyes oknl fogva a msodik emeleten lv PC nem tallja a
szalagkiszolglt. Mit tehet ilyen nehz helyzetben egy rendszergazda?
Egyszer a vlasz: vegyen ki egy nap szabadsgot, olvassa el ezt a knyvet, s tanuljon
meg Sambzni!
A Samba
A Samba egy sor eszkzbl ll, amelyek segtsgvel a hlzaton olyan erforrsok oszthatk meg, mint a nyomtatk s a fjlok. Ezzel ugyan egy kicsit leegyszerstjk a dolgot,
de a Samba tnyleg arra hasznlhat, hogy knnyebb tegye az letnket. A Samba a Microsoft s az IBM ltal is elfogadott Server Message Block (SMB) protokollt hasznlja arra,
hogy TCP/IP hlzaton keresztl alacsony szinten adatokat cserljen Windows gyfelek
s Unix kiszolglk kztt.
A ngy kpessg, amely rendkvl vonzv teszi a Sambt:
A Samba ugyanazt az SMB protokollt hasznlja, amelyet a Microsoft s az IBM opercis rendszerei is hasznlnak a DOS 3.0 verzija ta.
A Samba klnbz platformokon futhat, belertve a Unix, az OpenVMS, az OS/2, az
AmigaDOS s a NetWare klnbz vltozatait. Ez azt jelenti, hogy a kiszolgln egyetlen program futtatsval tehetjk elrhetv a fjlokat s a nyomtatkat a PC-s kzssg szmra.
SAMBA
A knyv olvaskznsge
A szerzk a knyvet elssorban olyan Unix rendszergazdknak ajnljk, akiknek PC-ket is
kell kezelnik a hlzatban, tovbb mindazoknak, akiknek PC-s krnyezetben Unix
kiszolglra van szksgk. Ugyanakkor a szerzk nem akarjk klnbz rendszergazdai eszkzk vgelthatatlan sorval terhelni az olvast. Abbl indulnak ki, hogy
az olvas alapveten tisztban van a Unixos rendszerek felgyeletvel, de nem ttelezik
fel rluk, hogy hlzati szakemberek. Mindenesetre minden segtsget megadnak a klnbz meghatrozsok s kifejezsek megrtshez.
Mivel a szerzk azt sem felttelezik, hogy az olvasnak risi gyakorlata lenne a Microsoft Windows opercis rendszer hasznlatban, jval rszletesebben trnek ki a PC oldali teleptsi feladatokra, s mind a Windows 95/98, mind a Windows NT rendszerben
klnbz pldkat mutatnak be (a kt rendszer tbb vonatkozsban is eltr egymstl).
Unix oldalon olyan, ltalnosan hasznlt opercis rendszerekhez mutatnak pldkat,
mint amilyen a Linux 2.0 vagy a Solaris 2.6.
ELSZ
A knyv felptse
A knyv durvn kt rszre oszthat. Az els rsz a Samba teleptsvel (13. fejezet), a
msodik a Samba konfigurlsval s optimalizlsval (49. fejezet) foglalkozik. Az egyes
fejezetek rvid tartalma:
1. fejezet. Ismerkeds a Sambval
Ebben a fejezetben megismerkednk a Samba sszetevivel, s rviden ttekintjk
a NetBIOS s a Windows hlzati vonatkozsait.
2. fejezet. A Samba teleptse Unix rendszerre
Ebben a fejezetben arrl olvashatunk, miknt konfigurlhatjuk, fordthatjuk le, telepthetjk s tesztelhetjk a Samba kiszolglt Unix platformon.
3. fejezet. Windows gyfelek konfigurlsa
Ez a fejezet arrl szl, hogy miknt konfigurlhatjuk a Microsoft Windows 95/98 s
az NT 4.0 gyfeleket gy, hogy csatlakozhassanak egy SMB hlzathoz. Rviden
bemutatja az SMB protokoll mkdst is.
4. fejezet. Lemezmegosztsok
Ebben a fejezetben a Samba konfigurcis fjljnak klnbz rszeivel ismerkednk meg, s megtudjuk, hogyan hozhatunk ltre lemezmegosztsokat.
5. fejezet. Tallzs s a lemezmegosztsok folytatsa
Ebben a fejezetben folyatjuk a lemezmegosztsok trgyalst, s megvizsgljuk a
tallzs belltst.
6. fejezet. Felhasznlk, biztonsg s tartomnyok
Ebben a fejezetben arrl olvashatunk, miknt konfigurlhatjuk az gyfeleket,
milyen biztonsgi intzkedseket tehetnk a Sambban, s hogyan kezelhetjk a
titkostott s titkostatlan jelszavakat. Arrl is szlunk, hogyan kszthetjk fel a Sambt arra, hogy elsdleges tartomnyvezrl legyen Windows 95/98 s NT rendszert
hasznl gyfelek szmra.
7. fejezet. Nyomtats s nvfelolds
A fejezet a nyomtatkkal s a WINS (Windows Internet Name Service) nvfelolds
hasznlatval foglalkozik.
SAMBA
Tipogrfiai jellsek
A knyvben az albbi tipogrfiai jellseket hasznljuk:
Dlt bets
Ezzel jelljk a fjlneveket, a fjlnevek kiterjesztst, az internetes cmeket, a vgrehajthat fjlok s parancsok nevt, s a klnleges fogalmakat.
Azonos betszlessg
gy jelljk a Samba konfigurcis belltsait, a szvegben megjelen egyb kdokat, s azokat a parancssori adatokat, amelyeket bethven kell berni a kpernyn.
Flkvr s azonos betszlessg
Ezzel jelljk a felhasznl ltal berand parancsokat s azokat az j konfigurcis
belltsokat, amelyekre fel akarjuk hvni az olvas figyelmt.
ELSZ
A bagoly szimblummal jellt szvegrsz a krnyezetvel kapcsolatos valamilyen fontos megjegyzst tartalmaz.
A szerzk krsei
E knyv szerzi a legjobb kpessgeik szerint teszteltk s ellenriztk a knyvben lertakat, de elfordulhat, hogy idkzben megvltoztak bizonyos belltsok (de maguk a
szerzk is hibzhattak). Krjk, rtestsenek bennnket brmely hibrl, tovbb vrjuk
az olvask javaslatait a tovbbi kiadsokhoz. Cmnk:
OReilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
1-800-998-9938 (az USA-ban s Kanadban)
1-707-829-0515 (nemzetkzi/helyi)
1-707-829-0104 (FAX)
A kiad elektronikus levlben is elrhet. A levelezlistra val feliratkozshoz vagy katalgus krshez az albbi cmre vrjuk az elektronikus leveleket:
info@oreilly.com
Mszaki jelleg krdseket vagy a knyvvel kapcsolatos megjegyzseket az albbi cmre
krjk:
bookquestions@oreilly.com
A kiad egy webhelyet is ksztett ehhez a knyvhz, ahol pldk, hibajavtsok s a tovbbi kiadsokkal kapcsolatos tervek tekinthetk meg. A webhely az albbi cmen rhet el:
http://www.oreilly.com/catalog/samba/
Tovbbi tudnivalk errl s ms knyvekrl az OReilly albbi webhelyn tallhatk:
http://www.oreilly.com
A magyar kiad webhelye, ahol a knyv szvege is megtallhat:
http://www.kossuth.hu
Ismerkeds a Sambval
Ha az olvas tipikus rendszergazda, akkor tudhatja, mit jelent mindenesnek lenni. Nap
mint nap azzal telik a munkaideje, hogy vg nlkl bajldik a hardverek inkompatibilitsi
problmival, a rendszerek elavulsval, az adatok biztonsgi mentsvel s a felhasznlk aggd seregvel. Ezrt nmi fenntartssal fogadhatja azt, hogy jabb programmal
bvtse az amgy is sokrt eszkztrt, amelynek a karbantartsrt felelssggel tartozik. Ha viszont gy dnt, hogy cskkenteni kvnja a szmtstechnikai krnyezetnek
bonyolultsgt, valamint a programok zkkenmentes futtatshoz szksges feladatait,
akkor taln pont a Samba lehet az, amire szksge van.
Egy kis magyarzat: e knyv egyik rjnak rendszergazdaknt az volt a feladata, hogy
70 UNIX fejleszt munkjrl gondoskodjon, akik 5 Unix kiszolgln osztoztak. A szomszdjnak 20 Windows 3.1 felhasznl s 5 OS/2 s Windows NT kiszolgl volt a gondjaira bzva. Errl az emberrl igazn elmondhat, hogy mindenes volt. Amikor kilpett a
cgtl, s az sszes gpet kzs hlzatba kellett kapcsolni, a Samba jelentette a megoldst. A szerznk gyorsan lecserlte a Windows NT s az OS/2 kiszolglkat egy Sambt
futtat Unix kiszolglra, s a cg fejleszti szmra PC-ket vsrolt. Ez utbbi miatt azonban nem vett fl egy j, PC-s rendszergazdt; a rendszergazda most t elosztott PC helyett
egyetlen, kzponti Unix alkalmazsbl kezeli a teljes rendszert.
Ha nnek problmi vannak a hlzatval, s biztos abban, hogy van jobb megolds,
akkor btran fogjon hozz ennek a knyvnek az olvasshoz. Ha pedig mr hallott valamit a Sambrl, s szeretn tudni, miben segthet nnek, akkor szintn ajnlhat ez a
knyv. Mindenekeltt azrt, mert megismerteti az olvasival a Samba hasznlatt s a
kpessgeit. Rvid idn bell Unix szolgltatsokkal tudja elltni az sszes Windows
alap gpt anlkl, hogy klnsebben sok pnzt vagy idt kellene ldoznia erre. Csbtan hangzik? Nos, ha igen a vlasz, akkor vgjunk is bele!
Mi a Samba?
A Samba olyan Unix alkalmazsok gyjtemnye, amelyek az SMB (Server Message Block
= kiszolgli zenetblokk) protokollt hasznljk. Szmos opercis rendszer, kztk a
Windows s az OS/2 ezt az SMB protokollt hasznlja az gyflkiszolgl tpus hlzatokban. Azzal, hogy a Samba tmogatja ezt a protokollt, lehetv teszi, hogy munkba
lljanak a Unix kiszolglk, s ugyanazt a hlzati protokollt hasznljk, mint amit a Microsoft Windows alkalmazsok. gy egy Sambval felszerelt Unix gp lczott kiszolglknt
jelenhet meg az n Microsoft hlzatban, s a kvetkez szolgltatsokat nyjthatja:
12
SAMBA
A Samba Andrew Tridgell szellemi gyermeke, aki jelenleg a Samba fejleszti csoport vezetje az ausztrliai Canberrban. A projekt 1991-ben indult el, amikor Andrew a helyi hlzathoz olyan fjlkiszolgl programot ksztett, ami a Digital Pathworks brmelyik DEC
protokolljt tmogatta. Abban az idben azonban nem tudhatta, hogy a ksbbiek sorn
ebbl alakul ki az SMB protokoll. Nhny vvel ezutn bvtette a testre szabott kiszolgljt, s SMB Server nven terjeszteni kezdte az interneten a termkt. Andrew azonban
nem tarthatta meg ezt a nevet idkzben ugyanis mr egy msik cg termknek neve
lett , ezrt megprblkozott az albbi Unix tnevezsi ksrlettel:
grep -i s. *m. *b
/usr/dict/words
13
14
SAMBA
Lemezszolgltatsok megosztsa
Ha mindent jl lltottunk be, akkor a phoenix gp Asztaln a Network Neighborhood
(Hlzat) ablakban ltnunk kell a hydra nev Samba kiszolglt. Az 1.2. brn a phoenix
gpnek ez az ablaka lthat, amelyben valban fel van sorolva a SIMPLE munkacsoporthoz tartoz sszes szmtgp, kztk a hydra is. Figyeljk meg, hogy a lista elejn az
Entire Network (Teljes hlzat) ttel ll. Amint elbb emltettk, egy SMB hlzatba brmely idben egynl tbb munkacsoport is tartozhat. Ha a felhasznl rkattint az Entire
Network ikonra, felsorolst lthat a hlzatban ppen ltez sszes munkacsoportrl.
15
* Azt is megtehetjk, hogy az egr jobb oldali gombjval rkattintunk egy megosztott erforrsra, majd a
menben a Hlzati meghajt csatlakoztatsa parancsot vlasztjuk.
16
SAMBA
Vessnk egy pillantst az 1.4. brn lthat ablak Path (Elrsi t) bejegyzsre. Egy hlzatban lv gpen hasonlkppen jelenthet meg egy knyvtr gy, hogy kt fordtott
trtjel (backslash) utn berjuk a hlzati gp nevt, majd egy jabb fordtott trtjel utn a
hlzati gp knyvtrt, amint itt lthat:
\\hlzati szmtgp\knyvtr
A Windows vilgban ez a nvmegads UNC (Universal Naming Convention) megadsknt ismert. gy pldul az 1.4. bra prbeszdablakban a hydra kiszolgl hlzati
knyvtrt az albbi megads azonostja:
\\HYDRA\network
Nyomtat megosztsa
szrevehettk, hogy az 1.3. bra prbeszdablakban a hydra gpen elrhet megosztsok kztt az lp jel nyomtat is megjelenik. Ez azt jelenti, hogy a Unix kiszolgln olyan
nyomtat is tallhat, amelyhez a munkacsoportba tartoz klnbz SMB gyfelek hozzfrhetnek. Brmely gyfl adatokat kldhet a nyomtatra, amelyeket a Unix kiszolgl
nyomtatsi sorba llt, s az rkezsk sorrendjben kinyomtat.
* Ne feledkezznk meg arrl, hogy szmos vgfelhasznli engedly tiltja egy program olyan teleptst
a hlzatra, amely lehetv tenn tbb gyfl szmra a hozzfrst. Nzznk utna a licencszerzdsben, hogy biztosak legynk a dolgunkban.
17
18
SAMBA
19
Az eredmnyben hrom adatcsoportban jelenik meg a Samba llapota, melyek mindegyike klnll szakaszokbl ll. Az els szakasz azt mondja meg, hogy milyen rendszerek kapcsoldnak a Samba kiszolglhoz, megadva mindegyik gyflgp nevt
(phoenix s chimarea) s IP cmt. A msodik szakasz felsorolja azon fjlok nevt s
llapott, amelyek a kiszolgl megosztsain ppen hasznlatban vannak, belertve
rs/olvassi llapotukat s a fjlok esetleges zrolsait is. Vgl a harmadik szakasz annak
a memrinak a mrett adja meg, amelyet a Samba az ltala felgyelt megosztsokhoz
aktulisan kiosztott, belertve azt a mretet is, amelyet a megosztsok aktvan hasznlnak,
plusz a tovbbi fejlcet. (Vegyk figyelembe, hogy ez nem ugyanaz a memriamret, mint
amit az smbd vagy az nmbd eljrsai teljes memriaterletknt hasznlnak.)
Ne aggdjunk, ha most nem rtennk ezeket a statisztikkat ahogyan elre haladunk
a knyvben, knnyebben meg fogjuk rteni ket.
Rviden a NetBIOS-rl
Elszr menjnk vissza egy keveset idben. 1984-ben az IBM elksztett egy egyszer
alkalmazsprogramozsi felletet (API) a szmtgpeinek hlzati mkdtetshez,
aminek a Network Basic Input/Output (NetBIOS) nevet adta. A NetBIOS API kezdetleges
eszkzt knlt ahhoz, hogy egy alkalmazs hozzfrhessen ms szmtgpekhez, s adatokat osszon meg velk.
A NetBIOS API jrszt gy tekinthet, mint a szabvnyos BIOS API hvsok hlzati
kiegsztse. A BIOS csak arra alkalmas, hogy minden egyes alacsony szint hvs a helyi
gp hardverre korltozdjon, s semmifle segtsget nem nyjt ahhoz, hogy egy hvs
rendeltetsi helyt megvltoztathassuk. Ezzel szemben a NetBIOS eredeti rendeltetse az volt, hogy IBM PC-s vagy Token Ring hlzatokban a szmtgpek kicserlhessk
egyms kzt az utastsokat. Ezrt szksg volt egy alacsony szint szlltsi protokoll
megvalstsra, amin keresztl krseket lehetett kldeni az egyik szmtgpbl a
msikba.
Az 1985-s v vge fel az IBM kiadott egy ilyen protokollt, amit sszeolvasztott a NetBIOS API-val, s az gy ltrejtt termknek a NetBIOS Extended User Interface (NetBEUI)
nevet adta. A NetBEUI protokollt kisebb helyi hlzatokhoz (LAN) terveztk, lehetv
tve, hogy a hlzatba kttt mindegyik gpnek sajt neve legyen (max. 15 karakteresig).
A ,,kisebb hlzat itt olyan hlzatot jelent, amelyik 255-nl kevesebb csompontbl ll
1985-ben ez mg sszer korltozsnak volt tekinthet.
20
SAMBA
A NetBEUI protokoll nagyon npszer volt a hlzati alkalmazsokban, belertve azokat is, amelyek Windows for Workgroups alatt futottak. A ksbbiekben a NetBIOS olyan
vltozatai kerltek eltrbe, melyek a Novell IPX hlzati protokolljain valsultak meg, s
ezek a NetBEUI-val versengtek. Az akkoriban fejldsnek indult internetes kzssg a
meglv hlzati protokollok kzl azonban TCP/IP-t s a UDP/IP-t vlasztotta, ezrt
hamarosan elengedhetetlenn vlt a NetBIOS API megvalstsa ezeken a protokollokon.
Emlkezznk arra, hogy a TCP/IP szmokat hasznl a szmtgpek megcmzshez,
olyanokat, mint pldul 192.168.220.100, a NetBIOS pedig neveket hasznl. Ez jelentette
az egyik f problmt a kt protokoll sszegyrsakor. Az Internet Engineering Task
Force (IETF) 1987-ben RFC 1001 s 1002 jellssel kiadott egy sor szabvnyost dokumentumot, melyekben krvonalaztk, hogy a NetBIOS mikppen volna kpes mkdni
egy TCP/UDP hlzaton. Ez a dokumentumcsomag szablyozza mg ma is az sszes ltez megvalstst, belertve azokat is, amelyeket a Windows hasznl a sajt opercis
rendszereiben, valamint a Samba szoftverkszlett is.
Azta a szban forg dokumentumcsomag ltal szablyozott szabvny NetBIOS over
TCP/IP vagy rviden NBT nven vlt ismertt. Az NBT szabvny (RFC 1001/1002) jelenleg
a szolgltatsok albbi hrmast vzolja egy hlzatban:
nvkiszolgl;
kt kommunikcis szolgltats, nevk:
datagrams (vagy datagram szolgltats);
sessions (vagy session szolgltats).
A nvkiszolgl az elbb emltett, nvvel s cmmel kapcsolatos problmt oldja meg:
lehetv teszi, hogy a hlzatban mindegyik szmtgp deklarljon egy r jellemz
nevet, ami aztn lefordthat egy, a szmtgpek ltal rthet IP cmre, nagyon hasonlan ahhoz, ahogyan ezt az interneten a DNS teszi. A datagram s a session szolgltatsok
msodlagos kommunikcis protokollok, amelyeknek az a feladata, hogy adatokat tovbbtsanak a hlzatba kttt NetBIOS szmtgpek kztt.
Nv ignylse
Egy emberi lny viszonylag knnyen ignyelhet magnak nevet. Ugyanez azonban egy
NetBIOS hlzatba kapcsolt gp esetn mr nem ennyire egyszer. Lssunk nhny rszletet!
Amikor a NetBIOS vilgban egy szmtgp bejelentkezik a hlzatba, s szeretne
nevet kapni magnak, ezt nvregisztrlsnak nevezik. Ugyanabban a munkacsoportban
azonban nem ignyelheti kt gp ugyanazt a nevet, mert ez vg nlkli zavarokhoz vezethet, amikor brmelyik msik gp kommuniklni szeretne a kt gp egyikvel. A problma
elkerlsnek kt megkzeltse van:
A NetBIOS nvkiszolgl (NetBIOS Name Server, NBNS) hasznlatval nyomon kell
kvetni, hogy mely gazdagpek regisztrltak maguknak NetBIOS nevet.
Lehetv kell tenni, hogy a hlzatba kapcsolt mindegyik gp megvdje a sajt nevt,
amikor egy msik gp megprblja hasznlni az nevt.
Az 1.8. bra kt (sikertelen) nvregisztrlst mutat be: egyet a NetBIOS nvkiszolgl
segtsgvel, egyet anlkl.
21
22
SAMBA
Csomponttpusok
Hogyan tudnnk megmondani, hogy a hlzatunkban lv egyes gyfelek milyen stratgit hasznlnnak a nevk regisztrlshoz s feloldshoz? Egy NBT hlzat minden
egyes gpe a kvetkez jellsek egyikt kapja, attl fggen, hogy miknt kezeli a nv-
23
Jelents
b-csompont
p-csompont
m-csompont
h-csompont (hibrid)
24
SAMBA
gpnk, akkor ennek a NetBIOS neve felteheten PHOENIX lenne (amely utn nyolc
res hely ll).
Erforrsok nevei s tpusai
Egy szmtgp a NertBIOS rvn nem csak kzli msokkal a jelenltt, hanem arrl is
tjkoztatja a tbbieket, hogy milyen tpus szolgltatsokat knl. gy pldul a phoenix
gp jelezheti, hogy nem csupn egy munkalloms, hanem egyttal fjlkiszolgl is, s
kpes WinPopup zenetek fogadsra. Ezt azzal teheti meg, hogy egy 16. bjtot gynevezett erforrstpus-jelzst fz a gp (erforrs) nevnek vgre (lsd az 1.10. brt), s
egynl tbbszr regisztrlja a nevt.
Megnzhetjk, hogy egy adott NBT gphez milyen nevek vannak regisztrlva, ha a
Windows parancssorba az NBTSTAT parancsot berva futtatjuk ezt a segdprogramot. Mivel
a szolgltatsok egyediek (vagyis egynl tbb nem lehet regisztrlva), az eredmnylistban
UNIQUE tpusakknt listzdnak ki. Az albbi rszlet pldul a hydra kiszolglt rja le:
D:\>NBTSTAT -a hydra
NetBIOS Remote Machine Name Table
Name
Type
Status
------------------------------------------HYDRA
<00> UNIQUE
Registered
HYDRA
<03> UNIQUE
Registered
HYDRA
<20> UNIQUE
Registered
...
25
00
03
06
1B
1D
1F
20
21
BE
BF
Figyeljk meg, hogy mivel a DNS neveknek nincsenek erforrstpusaik, a tervezk szndkosan a 20-as hexadecimlis rtket (egy ASCII szkzt) tettk a fjlkiszolgl tpusnak alapbelltsv.
Csoportnevek s tpusok
Az SMB a csoportok fogalmt is hasznlja, amivel a gpek regisztrlhatjk magukat.
Korbban mr emltettk, hogy a pldnkban a gpek egy munkacsoporthoz tartoznak,
ami ugyanannak a hlzatnak valamely gpcsoportjt jelenti. gy egy hlzatban knnyen
lehet pldul egy EXPORT s egy IMPORT nev munkacsoport, melyek mindegyike klnbz kiszolglkbl s nyomtatkbl llhat. A Windows vilgban egy munkacsoport
s egy SMB csoport ugyanazt jelenti.
Folytatva az NBTSTAT pldnkat, a hydra Samba kiszolgl egyttal a SIMPLE munkacsoport tagja is (a csoport GROUP attribtuma hexa 00), s ftallzknt is vlaszthat
(1E csoport-attribtum). Az NBTSTAT kimenetnek fennmarad rsze:
NetBIOS Remote Machine Name Table, continued
Name
Type
Status
--------------------------------------------SIMPLE
<00> GROUP
Registered
SIMPLE
<1E> GROUP
Registered
.._ _MSBROWSE_ _.<01> GROUP
Registered
26
SAMBA
00
1C
1D
1E
20
01
Az utols bejegyzs, az _ _MSBROWSE_ _, arra szolgl, hogy bejelentse magt egy csoport
a tbbi ftallznak. A nvben a nem nyomtatd karakterek az NBTSTAT nyomaton
pontokknt jelennek meg. Ne aggdjunk, ha nem rtjk az sszes erforrs- s csoporttpust. Kzlk egyeseket nem kell hasznlnunk a Sambhoz, msokrl pedig a knyvben mshol rszletesebben olvashatunk. Itt csak az a fontos, hogy az elnevezsi mechanizmus logikjt rtsk.
Datagram s session
Ezen a ponton tegynk egy kis kitrt, s ismerkedjnk meg az NBT msik feladatkrvel,
nevezetesen kt NetBIOS gp kztti kommunikcis szolgltatsokkal. A TCP/IP alap
NetBIOS kt szolgltatstpust knl: a datagram szolgltatst s a session szolgltatst. A
Samba hasznlathoz e kt szolgltats mkdsnek megrtse nem lnyeges, de arra
azrt j, hogy kpet kapjunk az NBT mkdsrl, valamint arrl, hogy miknt kereshetnk hibt a Sambban, ha nem mkdne.
A datagram szolgltats nem ltest lland kapcsolatot az egyik s a msik gp kztt.
Az egyik gp egyszeren kikldi az adatcsomagokat egy vagy tbb msik gpnek anlkl,
hogy tekintettel lenne a rendeltetsi llomsra rkezsk sorrendjre, vagy hogy figyelne
arra, hogy egyltaln megrkeznek-e a csomagok. A datagramok kldse kevsb terheli
ugyan a hlzatot, mint a session szolgltats, ennek ellenre kpes lefagyasztani a hlzatot, ha nem kell gondossggal hasznljk (emlksznk a broadcast nvfeloldsra az
elz rszbl?). Ezrt a datagramok elssorban azt a clt szolgljk, hogy gyorsan elkldjenek egyszer blokkokat egy vagy tbb gpre. A datagram szolgltats az 1.4. tblzatban
felsorolt egyszer primitveket hasznlja a kommuniklshoz.
1.4. tblzat. Datagram primitvek
Primitv
Lers
Datagram kldse
27
Lers
Hvs
Figyels
Lettel
Klds
Session llapota
A session az erforrsok megosztsnak alapja egy NBT hlzaton. Tipikusan arra hasznljk ket, hogy tarts kapcsolatok jjjenek ltre az gyflgpek s a kiszolgl lemezvagy nyomtatmegosztsai kztt. Az gyfl ,,felhvja a kiszolglt, s informcikat kld
arra vonatkozan, hogy mely fjlokat akarja megnyitni, mely adatokat akarja kicserlni
stb. A hvsok hossz ideig tarthatnak rkig vagy akr napokig , s mindez egyetlen
kapcsolat keretben zajlik. Ha hiba lpne fel, akkor a session szoftvere (TCP) jra elkldi
az adatokat mindaddig, amg azok rendben meg nem rkeznek, ellenttben a datagram
szolgltats (UDP) ,,kldd el s fohszkodj tpus mdszervel.
A valsgban azonban mikzben azt felttelezzk, hogy a session kpes a problematikus kommunikcis kapcsolatok kezelsre nem mindig ilyen j a helyzet. Amint taln
mr tapasztalhattuk, a Windows hlzatok hasznlatakor komoly problmk merlhetnek fel. Ha a kapcsolat valamilyen oknl fogva megszakad, a kt szmtgp kztt megnyitott session informcik knnyen rvnytelenn vlhatnak. Ha ez trtnik, akkor a
session informcik jbli megszerzsnek csak egyetlen mdja marad: ugyanaz a kt
szmtgp jra hvja egymst, s ellrl kezdik a kapcsolat felptst.
Aki tovbbi tudnivalkat szeretne olvasni errl a kt szolgltatsrl, annak ajnlhat az
RFC 1001-es dokumentci tanulmnyozsa. Itt mindssze kt fontos dologra hvjuk fel
mg a figyelmet:
A session mindig kt NetBIOS szmtgp kztt jn ltre, nem kevesebb, s nem tbb
gp kztt. Ha egy session szolgltats megszakad, akkor a kapcsolat felttelezi, hogy
az gyfl elegend llapotinformcit trol ahhoz, hogy jbl megteremtdjenek a
kapcsolatok. A gyakorlatban azonban ez ritkn fordul el.
A datagramok tbb gpre is elkldhetk (broadcast), viszont megbzhatatlanok. Ms
szavakkal ez azt jelenti, hogy a kld fl semmilyen mdon nem kpes megtudni,
vajon a kldtt datagramok tnyleg megrkeztek-e a rendeltetsi helykre.
* Amint lthatjuk az RFC 1001-ben, a telefonos hasonlat egyrtelm volt az NBT szolgltats elksztst
tekintve.
28
SAMBA
Microsoft implementcik
Ennyi httrismeret birtokban most mr megnzhetjk, miknt valstotta meg a Microsoft a bemutatott koncepcikat a CIFS/SMB hlzatokon. Amint vrhat volt, a gyakorlati
kivitelezs sorn nhny bonyolult bvtsre is sor kerlt, melyekkel szintn megismerkednk.
Windows tartomnyok
Emlkezznk vissza, hogy egy munkacsoport olyan SMB szmtgpek egyttese, amelyek mindegyike egy alhlzatban van, s ugyanahhoz az SMB csoporthoz tartozik. Egy
Windows tartomny (domain) ennl egy lpssel tovbb lp: ez a tartomny az SMB
gpek olyan csoportjt jelenti, amelyben van egy kiszolgl is, amely a tartomnyvezrl
szerepkrt tlti be. Ahhoz, hogy egy munkacsoport Windows tartomnny vljk, a
munkacsoportban kell lennie egy tartomnyvezrlnek.* Ellenkez esetben csak egy
SMB munkacsoportrl van sz (lsd az 1.11. brt).
29
Mi az oka ezeknek a nehzsgeknek? Az a protokoll, amit a Windows tartomnyvezrlk az gyfeleikkel s ms tartomnyvezrlkkel val kommunikcihoz
hasznlnak, a cg tulajdont kpezi, s a Microsoft mg nem tette kzz. Ez arra
knyszertette a Samba fejleszt csoportjt, hogy visszafejtsk a tartomnyvezrl
protokollt, hogy lssk, milyen kdok hajtjk vgre az egyes specilis feladatokat.
Tartomnyvezrlk
A tartomnyvezrl egy Windows tartomny idegkzpontja, ahhoz hasonlan, amikpp
egy NIS kiszolgl is az idegkzpontja egy Unix hlzati informciszolgltatsnak. A tartomnyvezrlk klnbz feladatokrt felelnek. Az egyik ilyen felelssgi kr, amellyel
foglalkoznunk kell, az gynevezett hitelests. A hitelests az az eljrs, amellyel megadhat vagy megtagadhat egy felhasznltl a hozzfrs egy megosztott erforrshoz vagy
msik hlzati gphez, tipikusan jelsz hasznlata rvn.
Minden egyes tartomnyvezrl hasznl egy biztonsgos fikkezelt (SAM), amellyel
karbantartja a felhasznlnvjelsz kombincit. A tartomnyvezrl ezutn elkszti a
felhasznli nevekhez kapcsolt jelszavak kzponti trt (felhasznlnknt egy jelsz),
ami sokkal hatkonyabb, mintha kln-kln tartan nyilvn az egyes gyfeleket s a rendelkezsre ll hlzati erforrsokhoz tartoz jelszavak szzait.
Amikor egy Windows tartomnyban egy nem hitelestett gyfl hozz szeretne frni a
kiszolgl megosztsaihoz, a kiszolgl a tartomnyvezrlhz fordul, s megkrdezi
tle, hitelestve van-e az adott felhasznl. Amennyiben igen, akkor a kiszolgl ltrehoz
egy kapcsolatot azokkal a hozzfrsi jogokkal, amelyekkel a felhasznl az adott megoszts vonatkozsban rendelkezik. Amennyiben nem, akkor megtagadja a kapcsolat ltrehozst. Miutn a tartomnyvezrl elvgezte a felhasznl hitelestst, visszakld a
felhasznlnak egy specilis hitelest jelzst, gyhogy a felhasznlnak nem kell ismt
bejelentkeznie ugyanezen tartomny ms erforrsaihoz. Ettl a pillanattl kezdve gy
tekinthet, hogy a felhasznl ,,bejelentkezett magba a tartomnyba (lsd az 1.12. brt).
30
SAMBA
Tallzs
A tallzs ebben a szvegsszefggsben magas szint vlaszt jelent az olyan felhasznli
krdsre, mint hogy ,,Milyen gpek vannak ebben a Windows hlzatban?. gyeljnk
arra, hogy ennek a tallzsnak semmi kze sincs a World Wide Weben val bngszshez, eltekintve attl, hogy a tallzs azt is jelenti: lssuk, mit is fedezhetnk fel a krnyezetnkben. s van mg egy kzs sajtossguk: akrcsak a weben, egy hlzatban is megvltozhat valami minden kln rtests nlkl.
A tallzs hasznlata nlkl a felhasznlnak ismernie kell annak az adott szmtgpnek a nevt, amelyhez a hlzaton keresztl kapcsoldni akar, majd egy alkalmazsban
vagy fjlkezelben kzzel be kell rnia egy albbihoz hasonl UNC-t (Universal Naming
Convention), hogy kapcsoldhasson a hlzatra:
\\HYDRA\network\
A tallzssal viszont egy szabvnyos felhasznli illesztfelletet (GUI) hasznlva, pldul egy Windows gyfl Hlzatok ablakban egy egrkattintssal megvizsglhatjuk a
szmtgp tartalmt.
31
Tallzsi szintek
Amint a fejezet elejn mr emltettk, egy SMB/CIFS hlzatban a tallzs ktfle szintjvel tallkozhatunk:
tallzs a szmtgpek listjban (megosztott erforrsokkal rendelkez gpek);
tallzs egy adott gp megosztott erforrsaiban.
Nzzk elszr az els szintet. Minden egyes Windows munkacsoport (vagy tartomny)
alhlzatban van egy szmtgp, amely a hlzaton aktulisan elrhet gpek listjnak
karbantartsrt felel. Ennek a szmtgpnek helyi ftallz a neve, az ltala karbantartott listt pedig tallzlistnak nevezik. Az alhlzatban lv gpek ezt a tallzlistt hasznljk, hogy cskkenthet legyen a tallzs okozta hlzati forgalom nagysga. Ahelyett,
hogy minden egyes szmtgp dinamikusan lekrdezn az ppen rendelkezsre ll
szmtgpek listjt, az illet gp a helyi ftallzhoz fordul, amelytl megkapja a teljes
frisstett listt.
Ahhoz, hogy egy felhasznl egy gp aktulis erforrsai kztt tallzhasson, kapcsoldnia kell az adott szmtgphez a gpen lv informcikat a tallzlistbl nem
tudja megkapni. Valamely gpen elrhet erforrsok listjban gy tallzhat, hogy a
Windows 95/98 vagy a Windows NT Hlzatok ablakban rkattint az illet gp ikonjra.
Amint a fejezet elejn lttuk, a gp erre megjelenti a rajta elrhet megosztott erforrsok
listjt, miutn a felhasznl sikeresen tesett a hitelestsen.
Egy Windows munkacsoportban a kiszolglk mindegyiknek miutn regisztrlta a
NetBIOS nevt be kell jelentenie a jelenltt a helyi ftallznak, s (elmletileg) azt is,
hogy kijelentkezik a munkacsoportbl, amikor befejezi a mkdst. A helyi ftallz
feladata, hogy feljegyezze, mit jelentettek be a kiszolglk. Hozztesszk, hogy a helyi
ftallznak nem kell felttlenl ugyanannak a gpnek lennie, mint amelyik a korbban
trgyalt NetBIOS nvkiszolgl (NBNS).
32
SAMBA
33
elz pldhoz, tegyk fel, hogy a fnk befejezte az ebdjt, s jraindtja a kiszolgljt.
Amikor a kiszolgl felled, bejelenti a jelenltt a hlzaton, vgbemegy egy kivlasztskrs, hogy lssa, mg mindig az a gp-e a ftallz, amelyik az alkatrszraktrban van.
Miutn elkld egy kivlasztskrst, minden egyes gp datagramokon keresztl sztkldi (broadcast) a magra vonatkoz informcikat. Ezek az informcik a kvetkezket tartalmazzk:
a hasznlt kivlasztsi protokoll verzija;
a gpen fut opercis rendszer;
az gyfl ltal a hlzaton eltlttt id tartama;
az gyfl gazdaneve.
Ezek az rtkek hatrozzk meg, hogy melyik opercis rendszernek van elsbbsge, s
melyik tltheti be a helyi ftallz szerepkrt. (A Felhasznlk, biztonsg s tartomnyok cm 6. fejezet rszletesebben is foglalkozik a kivlasztsi folyamattal.) A kivlaszts
programozstechnikai megvalstsa nem tl elegns, s biztonsgi problmk is rontjk
a helyzetet. Mg egy tallz tartomny integrlhat tartomnyi biztonsggal, addig a
vlasztsi algoritmus nem veszi figyelembe, hogy mely szmtgpekbl lettek tallzk.
Ezrt a tallz szolgltatst futtat brmely szmtgp gy regisztrlhatja magt, mint
amelyik rszt vesz a tallz kivlasztsaban, majd (miutn gyztt) kpes lesz a tallzlista mdostsra. Ennek ellenre a tallzs a windowsos hlzati munka egyik kulcseleme, s a kompatibilits fenntartsa irnti ignyek azt is biztostjk, hogy a kvetkez vekben is hasznlatban maradjon.
34
SAMBA
35
zat helyi ftallzival. Ennek a mveletnek a tallzlista tovbbadsa (browse list propagation) a neve.
Amennyiben szksges, a Samba betltheti a tartomny-ftallz szerept egy
Windows tartomnyban. Emellett mg helyi ftallzknt is mkdhet egy Windows
alhlzatban, s szinkronizlhatja a sajt tallzlistjt a tartomny-ftallzval.
36
SAMBA
lzat felsorolja azokat a szerepkrket, amelyeket a Samba egy Windows NT tartomnyban vagy Windows munkacsoportban betlthet, illetve nem tlthet be. Lthat, hogy
mivel az NT tartomny protokolljainak j rsze a Microsoft tulajdonban van, s mg nem
dokumentltk ket, a Samba nem tudja helyesen szinkronizlni az adatait egy Microsoft
kiszolglval, s szmos helyen nem alkalmazhat tartalkgpknt. Ugyanakkor a Samba
2.0 vltozata korltozott mrtkben mr tmogatja az elsdleges tartomnyvezrl hitelestsi protokolljait, s naponta jabb s jabb funkcikkal gyarapszik.
1.6. tblzat. A Samba ltal betlthet szerepkrk (a 2.0.4b vltozat szerint)
Szerepkr
Betlthet?
Fjlkiszolgl
Nyomtatkiszolgl
Elsdleges tartomnyvezrl
Tartalk tartomnyvezrl
Windows 95/98 hitelest
Helyi ftallz
Helyi tartalktallz
Tartomny-ftallz
Elsdleges WINS kiszolgl
Msodlagos WINS kiszolgl
Igen
Igen
Igen (Samba 2.1 vagy jabb ajnlott)
Nem
Igen
Igen
Nem
Igen
Igen
Nem
37
38
SAMBA
NT tartomnyok
A Samba NT tartomnyok tmogatsa (a 2.0.x verzitl kezdden) jelents javulst eredmnyezett: ez lehetv teszi, hogy az SMB kiszolglk hasznljk a hitelest mechanizmusukat, ami nagyon lnyeges a jvbeli NT-kompatibilits miatt, s tmogassk az NT
tartomnyi bejelentkezseket. A tartomnyi bejelentkezsek lehetv teszi, hogy egy felhasznl bejelentkezzen egy Windows NT tartomnyba, s a tartomnyban lv sszes
szmtgpet hasznlhassa anlkl, hogy egyenknt be kellene jelentkeznie ezekre a
gpekre. A Samba 2.0.0 verzijt megelz verzik ugyan tmogattk a Windows 95/98
bejelentkezsi szolgltatsait, de az NT tartomnyba val bejelentkezseket nem. A tartomnyi bejelentkezsek tmogatsa ugyan mg nem teljes a Samba 2.0-ban, de rszben
mr megvalstsra kerlt.
Az adminisztrls knnytse
A SWAT, a Samba webadminisztrcis eszkze lehetv teszi egy kiszolgl egyszer teleptst s a konfigurcijnak mdostst anlkl, hogy le kellene mondani az egyszer,
szveg alap konfigurcis fjlrl. A SWAT grafikus illesztfelletet knl azokhoz az erforrsokhoz, amelyeket a Samba megoszt az gyfeleivel. Emellett a Samba nem kevs
ksrletezsi s emlkezetre hagyatkoz munkt is megtakart a hlzaton keresztli teleptssel s a konfigurcis mdostsokkal kapcsolatban. Mg azt is megtehetjk, hogy a
SWAT segtsgvel elvgznk egy indul teleptst, majd a konfigurcis fjlt ksbb kzi
ton mdostjuk, vagy fordtva. A Samba nem fog panaszkodni.
Ami a forrsprogramok lefordtst illeti, a GNU autoconf parancst hasznlhatjuk
most arra, hogy knnyebben legyen elvgezhet a kezdeti fordts s a telepts, s gyorsabban eljuthassunk a SWAT-hoz.
39
Teljestmny
A Samba j vltozatban jelentsen megntt a teljestmny s a sklzhatsg: a kdot
tszerveztk, s alaposan trtk az nmbd-t (a Samba nvkiszolgl dmonjt):
A nv/tallz szolgltats most megkzeltleg 35 000 egyidej gyfelet tmogat.
A fjl- s nyomtatszolgltatsok 500 egyidej felhasznlt tmogatnak egyetlen, kzepes mret kiszolglrl, a teljestmny szrevehet cskkense nlkl.
Ugyanazon a hardveren a Linux/Samba jobb teljestmnyt nyjt, mint egy NT kiszolgl. s ami mindenek fltt a legjobb: a Samba egyre javul.
A javtott zrol mechanizmusok lehetv teszik, hogy az gyflgpek helyileg teljes
fjlokat gyorstsanak, aminek ksznheten jelentsen javul a sebessg anlkl, hogy
a gyorstott fjlok ki lennnek tve a vletlen fellrs kockzatnak.
Tovbbi jellemzk
A felsoroltakon kvl a Samba 2.0 mg tovbbi tulajdonsgokkal is rendelkezik. A Sambhoz most ugyanazon a gpen mr tbb l-Sambt is elkszthetnk, melyek mindegyike
kln kiszolglnak tettetheti magt, hasonlan a modern webkiszolglk virtulis gazdihoz. Ez lehetv teszi egy gazda szmra, hogy tbb rszleget vagy csoportot szolgljon ki, vagy norml felhasznlnv/jelsz kombincit hasznlva lemezmegosztsokat
knljon, mg a nyomtatkat klnsebb biztonsgi korltozsok nlkl brki szmra
hozzfrhetv tegye. A nyomtats knnyebb vlt a Unix System V tulajdonosai szmra: a Samba most automatikusan megtallja a rendelkezsre ll nyomtatkat a Berkeleystlus nyomtatshoz hasonlan. Emellett a Samba kpes tbbfle kdlap kezelsre, gy
pldul Eurpn kvli nyelvek is hasznlhatk, tovbb a Secure Socket Layer (SSL) hasznlatval kpes az interneten elkldtt sszes adatnak, s nemcsak a jelsznak a titkostsra.
Kompatibilitsi javtsok
A Samba kpessgeinek nvekedsvel egytt ntt a Windows NT-vel fennll kompatibilits foka. A Samba mindig is tmogatta a jelszavak Microsoft stlus titkostst. Most
olyan eszkzkkel is rendelkezik, amelyekkel tvlthat a Microsoft-fle titkostsra, s
szinkronizlhatja egymssal a Unix s a Microsoft jelszfjlokat. Vgl a Samba ftallzja
utasthat arra, hogy klnbz helyi hlzatokon lv ms SMB kiszolglkkal szinkronizlja magt, lehetv tve, hogy az SMB zkkenmentesen mkdjn tbb hlzaton
keresztl. A Samba ehhez ms eljrst hasznl, mint a Microsoft, mely utbbi nincs dokumentlva.
Smbwrapper
Vgl ltezik egy teljesen j vltozat Unix gyfl, az gynevezett smbwrapper. Egy kernel modul helyett, amely lehetv teszi, hogy a Linux Samba gyflknt viselkedjen, most
egy parancssori bejegyzssel betlthet az a knyvtr, ami teljes SMB fjlrendszert bocst
bizonyos Unix vltozatok rendelkezsre. Miutn betltdtt a knyvtr, az ls /smb
parancs kiadsval kilistzhat a munkacsoportban lv sszes gp, s az /smb/kiszol-
40
SAMBA
glnv/megosztsnv parancs bersval eljuthatunk egy adott megosztshoz (megosztott knyvtrhoz), hasonlan a hlzati fjlrendszerhez (Network File System, NFS).
A knyv rsnak idejn az smbwrapper Linux, Solaris, SunOS 4, IRIX s OSF/1 opercis
rendszereken fut, s a kzeli jvben vrhatan tovbbi opercis rendszereken is futni
fog.
Ez mg nem minden
A Samba csodlatos eszkz, amelynek a kpessge a legkisebb SMB/CIFS hlzatokon is
megmutatkozik. Ebben a fejezetben bemutattuk a Sambt, s ami ennl is fontosabb, azt
is, hogy miknt illeszthet be egy Windows hlzatba. A kvetkez fejezetekben megismerkednk azzal, hogy miknt telepthetjk a Sambt egy Unix kiszolglra, ahol a kt
dmonja elhelyezkedik, tovbb azzal, hogy miknt konfigurlhatjuk a Windows 95, 98 s
NT gyfeleket a Sambval val egyttmkdshez. Hamarosan rezni fogjuk, hogy a
vegyes sszettel hlzatokkal kapcsolatos gondjaink s bajaink mr a mlt lesznek.
dvzljk nt a Samba csodlatos vilgban!