Članki » Vodiči » Linux in Windows omrežje: Pobotajmo sosede
Linux in Windows omrežje: Pobotajmo sosede
- Gašper Žejn ::
Marsikdo, ki se je srečal z Linuxom in preživel z njim par dni, si je verjetno zaželel, da bi lahko uporabljal datoteke, ki jih daje v skupno rabo na drugem računalniku. In obratno, verjetno je želel dati v skupno rabo kake datoteke, ki jih ima na računalniku, kjer je nameščen Linux. V tem članku si bomo ogledali kako namestiti in domačemu omrežju primerno nastaviti strežnik in odjemalec za protokol SMB. Predvidevam, da ste na svojo distribucijo Linuxa sambo že namestili in jo je potrebno samo še pravilno nastaviti.
Protokol SMB na kratko
Windows operacijski sistemi za skupno uporabo datotek in tiskalnikov uporabljajo protokol SMB (ang. server message block). Sam protokol je že precej star, prvo implementacijo je namreč razvil IBM, program PC Network Program 1.0. Tudi prvi javni dokument iz leta 1985, kjer se omenja SMB protokol, prihaja od IBM-a. Protokol so kasneje pod svoje okrilje prevzela različna podjetja, med njimi tudi Microsoft. Danes tako že zraven operacijskega sistema Windows dobimo vgrajeno različico odjemalca in strežnika za protokol SMB, ki ga večina pozna pod imenom “Omrežna soseščina” ali “Network neighborhood”. V prihodnje pa se obeta razširitev in prenova SMB protokola poimenovana CIFS oz. common internet file system. Kar je zanimivo, je to, da je Microsoft odprl specifikacije za odjemalce CIFS, ni pa znano kako naj bi strežniki CIFS delovali. Tako kaže, da očitno Microsoft želi del bodočega standarda zadržati samo zase.
Omrežno soseščino želimo izkoristiti, da pridemo do datotek na drugem računalniku, bodisi na računalnuku z nameščenim sistemom Linux bodisi s sistemom Windows. Da pa to lahko pravilno storimo, moramo poznati vsaj osnove organizacije omrežja z uporabo protokola SMB. V osnovi se omrežje deli na strežnike in odjemalce. Običajno je tako, da isti računalnik opravlja tako funkcije strežnika kot odjemalca. Poleg navadnih strežnikov se pri protokolu SMB pojavi še en tip strežnika, tako imenovani “master browser”, ki bi ga lahko s stališča funkcije poimenovali tudi “organizator”. Njegovo delo je, da zbira seznam Samba strežnikov na mreži, ki svoje storitve nudijo odjemalcem. Organizator hrani seznam, ki ga posreduje odjemalcu, ki bi želel brskati po omrežju. Organizator je izvoljen na podlagi večih kriterijev: dodatne točke dobijo novejši operacijski sistemi, sistemi, ki so pred nedavnim pomagali organizatorju, in sistemi, ki so že dlje prižgani. Tako se hrani seznam vseh računalnikov na mreži, da obenem ni potreben strežnik, ki bi bil vedno prižgan, po drugi strani pa omogoča varčevanje s sredstvi, saj ni potrebno vsakemu računalniku posebej skrbeti za posodobljen seznam dostopnih računalnikov. Taka organizacija pa prinaša tudi slabosti, med drugim tudi težjo razumljivost dogajanja na omrežju in s tem povezan kdaj tudi kak čuden pojav, ki ga sprva ne razumete prav dobro.
Dostopanje do SMB virov z Linux sistemov
Linux ima več odjemalcev za Windows omrežje. Dva pomembnejša sta smbclient in smbfs. Prvega je možno uporabljati podobno kot ftp odjemalce iz ukazne vrstice. Za dostop do deljene mape z imenom “dokumenti” na računalniku “doma” kot uporabnik Gasper bi napisali tako:
smbclient -U gasper //doma/dokumenti
Program bi vas še povprašal po geslu in če ga pravilno vpišete dobite ukazni poziv podoben slednjemu:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.7-Debian] smb: \>
Če dovolite anonimni dostop, potem lahko navajanje uporabnika izpustite.
Namig: če sedaj napišete “help”, se vam izpiše seznam možnih ukazov.
Drugi odjemalec je smbfs, ki omogoča preslikavo oddaljene deljene mape na krajevni datotečni sistem. Tako lahko na primer preslikate prej omenjeno mapo “dokumenti” na mesto mape /media/smb, ki ste jo predhodno ustvarili za ta namen s takim ukazom:
mount -t smbfs -o username=gasper //doma/dokumenti /media/smb
Seveda pa se da do deljenih map dostopati tudi prek grafičnih vmesnikov, npr. Konquerorja, večnamenskega brskalnika, ki je del KDE namizja. S Konquerorjem je dostopanje do deljenih virov relativno enostavno. V naslovno vrstico vpišete bodisi smb://doma bodisi smb://192.168.1.1 (če ima računalnik z imenom DOMA ip naslov 192.168.1.1) in se bo Konqueror skušal povezati na računalnik DOMA. V kolikor na oddaljenem računalniku (DOMA) nimate vklopljenega “preprostega deljenja datotek” (Simple file sharing), vas Konqueror utegne povprašati po uporabniškem imenu in geslu. Če želite videti računalnike, ki so v določeni delovni skupini, vpišete v naslovno vrstico smb://workgroup in prikažejo se vam računalniki v delovni skupini Workgroup. Dokaj uporabna funkcija v KDE je tudi lisa, program, ki teče v ozadju in zbira seznam računalnikov na mreži, na katerih tečejo uporabne storitve za prenos datotek kot so FTP strežniki, SSH strežniki (FISH protokol), SMB strežniki (Windows omrežje), spletni strežniki (HTTP protokol) ali NFS strežniki (UNIX/Linux omrežno deljenje datotek).
V GNOME namiznem okolju je brskanje po Windows omrežju urejeno precej bolj enostavno. Vse kar vam je storiti, je da v Nautillsu izbrskate omrežje. Omrežna soseščina v GNOME je precej podobna brskanju z Windows Explorerjem, morda še enostavnejša.
Deljenje datotek na Linux računalniku z drugimi na omrežju
Samba, strežnik za SMB protokol, je program, ki teče v ozadju in skrbi, da lahko drugi računalniki na mreži bodisi z Windows bodisi z Linux prek SMB protokola dostopajo do datotek na vašem računalniku. Ker strežnik nima grafičnega vmesnika, do nedavnega pa je bilo na voljo samo nekaj dokaj nekvalitetnih vmesnikov za nastavljanje strežnika, je bilo to opravilo pogosto neprijetna izkušnja za uporabnika.
S KDE 3.3 je dobrodošel del nadzorne plošče tudi modul “Nastavitve Sambe”, ki vam nastavljanje deljenih map precej olajša. Sam vstavek ima za domačega uporabnika sicer veliko preveč možnosti, je pa še vedno precej bolj uporaben kot ročno urejanje nastavitvenih datotek.
Da smemo spreminjati nastavitve Sambe, moramo klikniti gumb administratorski način, ki nas zatem vpraša za geslo. Na zavihku “osnovne nastavitve” je pomembno, da je “stopnja varnosti” nastavljena na “souporaba” (share). To omogoči, da vsi uporabniki brez gesla vidijo deljene mape, če pa hočejo vpogledati v zaščiteno mapo, jih Samba naknadno vpraša za geslo. Pomembni sta še polji “delovna skupina” (workgroup) in “NetBIOS ime”, kamor vpišete ime računalnika, kakor bo viden v delovni skupini.
Zavihek “deljene mape” (shares) razkrije nastavitve deljenih map. Polje “ime” označuje naslov mape, kakor bo viden na mreži. “Pot” (path) je pot mape, ki naj bo deljena. Velja omeniti, da mora biti mapa dostopna uporabniku, ki jo bo pregledoval. Če recimo dostopate do mape z uporabniškim imenom “gasper”, mora biti mapa dostopna lokalnemu uporabniku “gasper”. Če dostopate brez uporabniškega imena in gesla, potem mora biti mapa dostopna vsem uporabnikom (oz. uporabniku nobody). Poleg komentarja k deljeni mapi so včasih še določene ikone. Tako ikona z globusom sporoča, da je deljena mapa vidna vsem. Ikona za urejanje pove, da je v deljeno mapo možno pisati, rdeča ikona stop pa pove, da mapa trenutno ni na voljo.
Če dvokliknemo na deljeno mapo, se pokaže okno z nastavitvami mape. Tu lahko nastavite pot in ime, po želji še komentar. Če nočete, da bi vam oddaljeni uporabniki lahko pisali po mapi, potem obkljukajte “Samo za branje” (readonly). Če želite mapo deliti z vsemi, torej javno, potem obkljukajte “Javno” (public). Če možnosti “Da se brskati” (browseable) in “Na voljo” (available) nista obkljukani, potem mapa ne bo dostopna. Na sosednjem zavihku lahko nastavite tudi dostop do deljene mape za posamezne uporabnike.
Uporabnike lahko v Nastavitvah sambe dodajate pod zavihkom “Uporabniki” (Users). Vendar pa ima program enega hrošča, uporabnik bo sicer dodan, vendar naslednjič, ko boste pogledali na ta zavihek, ne bo viden.
Če uporabljate GNOME, ste za nastavljanje strežnika zaenkrat na slabšem, saj za GNOME še ne obstaja neko uporabno orodje. Če imate nameščen tudi KDE, lahko seveda uporabite modul “Nastavitve Sambe” v KDE Control center. Če pa KDE nimate nameščenega, pa nadaljujte z branjem v naslednji odstavek.
Včasih si nastavitveno datoteko sambe zaželite urediti brez grafičnega vmesnika. Lahko, da vam grafični način naenkrat ne dela več, lahko je Samba nameščena na nekem strežniku, ki nima grafičnega vmesnika, lahko pa se pripeti, da nimate nobenega grafičnega orodja za urejanje nastavitev. Nastavitvena datoteka smb.conf se nahaja v mapi /etc/samba. Nastavitve so tipično oblike “ime = vrednost”. Tako npr. nastavite varnost na share, če spremenite vrstico “security = user” v “security = share”. Vrstice, ki se začnejo s podpičjem (;) ali lojtro (#) so komentarji in se ne upoštevajo pri branju nastavitev. Če boste ročno urejali svežo nastavitveno datoteko, potem bo verjetno pred nastavitvijo “security = user” podpičje, ki ga ne smete pozabiti odstraniti, da vaša nastavitev stopi v veljavo.
Deljene mape so v nastavitveni datoteki opisane v kiticah. Te se začnejo z vnosom v oglatih oklepajih. Primer vsakomur dostopne mape:
[public]
path = /res/public
public = yes
browseable = yes
guest ok = yes
Vnos v oglatih oklepajih je ime deljene mape, kakor ga bodo videli računalniki, ki bodo brskali po omrežju. Pod njim se nahajajo nastavitve za trenutno deljeno mapo. “Path” je, kot smo že omenili, pot do deljene mape. Nastavitev “public” pove, ali naj bo mapa dostopna vsakemu, ki brska po mreži. Če omogočimo “guest ok”, dovolimo brskanje vsakemu, četudi nima uporabniškega imena na našem računalniku. “Browseable” pa je nastavitev, ki se jo pri mapah nastavi na “yes”. Poglejmo si še podobno kitico, ki dovoli dostop samo določenim uporabnikom:
[private]
path = /res/private
public = no
guest ok = no
browseable = yes
valid users = gasper
Za mapo tokrat rečemo, da ni javna (public = no) in da nepoznanih uporabnikov ne dovolimo (guest ok = no). V kolikor želimo še nadalnje omejiti dostop samo določenim uporabnikom, lahko uporabimo nastavitev “valid users”, kjer naštejemo uporabnike, katerim želimo dovoliti dostop do mape. Sicer obstaja mnogo več nastavitev, ena takih je tudi “writeable”, ki jo nastavite na “yes”, če želite, da ima uporabnik pravice pisati v deljeno mapo. Tu smo si samo pogledali kako sambo pripraviti do delovanja, zato večina ostalih nastavitev pa za domačo uporabo ni tako pomembna. Ko urejamo nastavitveno datoteko, je priporočeno, da si pomagamo s programom “testparm”, ki prebere nastavitve in pregleda, da se ni slučajno kje vtihotapila napaka, ki bi preprečila delovanje sambe.
Pomembno pa je, da znamo dodati uporabnika. To storimo z ukazom “smbpasswd -a gasper”. Če uporabnik že obstaja, mu lahko geslo spremenimo z ukazom “smbpasswd gasper”.
Reševanje težav
Včasih se iz vam neznanih razlogov zgodi, da ne morete dostopati do mape, ki ste jo dali v skupno rabo. Obstaja nekaj osnovnih zadev, ki jih najprej preverite, da vidite, kje se je zalomilo.
Do deljene mape ne morem dostopati.
Ali je Samba zagnana? To lahko preverite na več načinov. Lahko poženete ukaz
netstat -nat | grep -i listenČe opazite vrstici
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTENpotem Samba teče. Druga možnost je, da poženete ukaz
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
smbclient -L 127.0.0.1V kolikor Samba teče, se vam bo izpisalo nekaj informacij o strežniku, če pa ne teče, pa vam bo odjemalec smbclient vrnil napako
Error connecting to 127.0.0.1 (Connection refused)Strežnik Samba je zagnan, a se ne morem povezati na mapo, ki sem jo na Linuxu dal v skupno rabo.
Connection to 127.0.0.1 failed
Preverite če je mapa deljena. Z ukazom
smbclient -L 127.0.0.1boste izpisali nekaj informacij o trenutno deljenih mapah. Če vaše mape ni tam, potem ni deljena. Če ste že preuredili nastavitveno datoteko in nastavili mapo, da je deljena, potem morate še ponovno zagnati sambo. Kako to storiti je nekoliko odvisno od distribucije Linuxa. V Debianu to storite z ukaom
/etc/init.d/samba restartMapo sedaj vidim, ampak nimam pravic za dostop do mape.
Če dostopate z uporabniškim imenom in geslom, potem preverite, če uporabnik sploh obstaja. To storite z ukazom
pdbedit -L -w -u gasperUkaz vrne vrstico podobno tej:
gasper:1000:401D75676D3CCB68AAD3C435B51404EE:Uporabnik brez gesla pa bi izgledal približno tako:
EE76E9F388CD026ACD491918B8035726:[U ]:LCT-41B32564:
root:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:Bodite pozorni na [DU ] namestu [U ] - D pomeni, da je uporabniško ime onemogočeno (disabled) in na ikse namesto pravega gesla.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[DU ]:LCT-00000000:
Nadalje mora imeti ta uporabnik pravico do vpogleda v deljeno mapo in vse nadmape. Če torej kot uporabnik gasper na Linuxu nimate dostopa do neke mape, potem bo dostop zavrnjen tudi prek sambe. Na koncu je potrebno poskrbeti, da ima uporabnik tudi ustrezne pravice za branje in/ali pisanje datotek.
Uvod v Linux
Več dejavnikov je vplivalo na nastanek kratkega pregleda osnov Linuxa, ki ste ga pravkar položili pred oči, zato bi težko jedrnato povedal, zakaj sem se odločil, da ga napišem, je pa res, da so glavni razlogi za njegovo rojstvo samo trije, in sicer čedalje pogostejše ...
Deljenje internetne povezave
- Odar Gorazd ::
Mnogi uporabniki interneta se srečujemo s težavami, ki nastanejo ob deljenju interentne povezave drugim računalnikom, povezanim v domačo - lokalno omrežje (LAN). Možnosti deljenja internetne povezave je več. V tem članku sem se omejil na deljenje internetne povezave ...
BlueTake USB Dongle
Ko ste si prebrali članek o Bluetoothu, ste ugotovili, da je to protokol, ki bi še najbolje ustrezal vašim potrebam. Dosti ste na poti, v avtomobilu imate prenosni računalnik ter si neizmerno želite, da bi lahko naenkrat dostopali na internet ter se lahko hkrati tudi pogovarjali. ...
Intervju: Chris Bryant
Slo-Tech: Se lahko najprej predstavite? Kdo ste, kje delate in na kakšnem položaju? Chris Bryant: Ime mi je Chris Bryant in sem direktor produktnega vodenja za pisarniški paket Microsoft Office. Jaz in moja ekipa smo tisti del podjetja, ki najbolj tesno sodeluje z ekipo programerjev, ki delajo na posameznih ...
Spreminjanje klicne identifikacije 101
Konec leta 2011 je več slovenskih medijev poročalo, da naj bi poslanka Državnega zbora Melita Župevc iz enega svojega mobilnega telefona prejela klic na svoj drugi mobilni telefon, javil pa naj bi se neznan moški glas. Na novinarska vprašanja so mobilni operaterji pojasnili, da takih primerov še niso ...