Articles

Folosind Samba pentru a partaja fișiere între Linux și Windows

rețeaua dvs. de domiciliu ar putea avea câteva mașini Windows la parter, un Mac într-un dormitor de la etaj, un PocketPC pe o noptieră și o cutie Linux sau două în subsol, toate în rețea cu un router generic. Pentru toate dispozitivele din această configurație familială familiară sau chiar un scenariu cu mii de utilizatori, suita Samba este o soluție ideală pentru partajarea fișierelor și tipăririi.

există mai multe soluții de partajare a fișierelor și tipăririi pe mai multe platforme, dar samba și protocolul SMB/CIFS pot fi cele mai ușor de implementat într-un mediu de rețea la domiciliu. Mașinile Windows și Mac-urile vin cu funcționalitatea de a lucra cu Samba din cutie și ar trebui să instalați doar un singur pachet Samba pentru mașinile Linux. GNOME și KDE oferă funcționalitatea clientului Samba încorporată managerilor de fișiere implicite, respectiv Nautilus și Konqueror.

ne vom concentra pe configurarea și utilizarea Samba pentru partajarea fișierelor și tipăririi într-o rețea de domiciliu tipică cu mașini Linux și Windows. Puteți alege dintre mai multe GUI-uri de configurare Samba, dar vom merge pe traseul de modă veche și vom îndrepta editorii de text către smb.conf. Fișierul de configurare se găsește în mod obișnuit la / etc / samba / smb.conf sau / usr / local / samba/lib / smb.conf. Rețineți că va trebui să fie rădăcină pentru a edita aceste, sau de a folosi sudo.

Samba va rula pe aproape orice sistem de tip Unix și poate fi găsit în depozitele de aproape fiecare distribuție Linux. Începeți prin a utiliza managerul de pachete al distribuției pentru a vă asigura că este instalat.

Configurarea Samba

Samba este un pachet foarte matur și complex, astfel încât fișierul său de configurare poate fi lung și complicat. Va trebui să aveți încredere că distribuția dvs. v-a furnizat o configurație implicită rezonabilă și să vă concentrați pe schimbarea doar a câtorva linii în smb.conf pentru a vă asigura că acestea sunt adecvate pentru scopurile unei rețele de domiciliu. Dacă doriți să aflați mai multe despre orice linie, consultați man smb.conf.

rețineți că orice linie din fișierul de configurare precedată de punct și virgulă (;) sau hash mark ( # ) este un comentariu și nu va fi recunoscută ca setare activă. Pentru a activa linia, eliminați punct și virgulă sau hash. Este o idee bună să adăugați propriile comentarii precedate de unul dintre aceste caractere, astfel încât să vă amintiți logica din spatele configurației dvs. data viitoare când încărcați smb.conf.

prima opțiune de luat în considerare este nivelul de securitate al Samba. Această linie va apărea sub secțiunea din smb.conf, unde se face toată configurația la nivel de Samba. Celelalte secțiuni, abordate mai târziu în acest articol, se referă la anumite servicii Samba (resurse partajate). Nivelul de securitate va fi cel mai probabil setat la valoarea user și va arăta astfel:

security = user

pentru o rețea de domiciliu, poate doriți să luați în considerare setarea acestuia la share. Principala diferență este că, cu setarea user, vi se va cere să vă conectați la serverul Samba înainte de a putea răsfoi resursele acestuia. Aceasta este o precauție înțeleaptă în rețelele de încredere, dar va fi incomodă atunci când utilizați resurse la care doriți să aibă acces întreaga gospodărie, cum ar fi o imprimantă. Cushare activat, puteți solicita în continuare utilizatorilor să se autentifice cu o parolă pentru a accesa anumite resurse.

în timp ce încă în secțiune, să trecem la imprimante. Dacă utilizați sistemul comun de imprimare UNIX (CUPS) (la care majoritatea distribuțiilor sunt implicite), singurul lucru pe care trebuie să-l faceți pentru ca Samba să vă recunoască imprimantele este să setați următoarele linii în consecință:


printing = cups
printcap name = cups

deoarece este posibil să configurați aceste imprimante (și poate alte resurse) pentru a fi accesibile fără autentificarea utilizatorului, este foarte important să restricționați accesul numai la gazdele cunoscute și de încredere – computerele din gospodăria dvs. Consultați manualul routerului pentru instrucțiuni privind atribuirea anumitor adrese IP fiecărui computer din rețeaua de domiciliu. După ce aveți o listă de gazde de încredere, introduceți-le în următoarele rânduri în secțiunea :


hosts allow = computer1 computer2 computerN
hosts deny = ALL

deși ați specificat căALL gazdele vor fi refuzate, orice gazdă listată pe liniahosts allow va primi în continuare acces. Formatul adreselor IP atribuite fiecărui computer de către routerul dvs. va varia. De exemplu, dacă mașinile din rețeaua locală primesc adrese de format 192.168.0.x, următoarele linii vor restricționa accesul Samba la gazdele locale:

hosts allow = 192.168.0.
hosts deny = ALL

rețineți că cifra finală a adresei IP a rămas pe liniahosts allow. Aceasta specifică faptul că orice adresă IP din acel interval să fie permisă. Pentru securitate suplimentară împotriva accesului extern, căutați blocarea porturilor Samba cu un firewall.

partajarea directoarelor și imprimantelor

este timpul să treceți dincolo de și să configurați resurse partajate specifice. Începeți cu secțiunea. În mod implicit, distribuția dvs. poate avea această secțiune configurată pentru a permite utilizatorilor să acceseze directorul de pornire de pe mașina care rulează serverul Samba.

dacă avețisecurity = share setat, este posibil ca această caracteristică să nu funcționeze conform așteptărilor și utilizatorilor li se pot prezenta directoare de acasă fără să se conecteze. Dacă sunteți singurul cu un director de acasă pe mașina care rulează serverul Samba oricum, ceea ce este probabil într-un mediu de rețea de domiciliu, este recomandabil să eliminați sau să comentați (folosind semne hash sau punct și virgulă) secțiune și adăugați orice directoare utile ca resurse partajate individual mai târziu.

acum Puteți începe partajarea directoare specifice. Utilizați acest lucru ca șablon pentru un folder partajat public pentru care nu este necesar ca utilizatorii să fie autentificați:


path = /location/of/directory
guest ok = yes
browseable = yes
read only = no

Share Name este orice titlu alegeți (pentru clientul care accesează serverul dvs., acesta va părea a fi numele directorului partajat). Liniaguest ok = yes este ceea ce specifică această partajare ca fiind accesibilă publicului. Liniabrowseable = yes va face ca partajarea să apară disponibilă tuturor utilizatorilor. Setați browseable = no pentru a forța utilizatorii să introducă manual numele partajării pentru a-l accesa. Desigur, puteți seta read only = yes pentru a restricționa utilizatorii să facă modificări la director de la distanță.

utilizați acest lucru ca un șablon pentru acțiuni private pe care utilizatorii trebuie să introducă o parolă pentru a accesa:


path = /location/of/directory
valid users = user
read only = yes
browseable = no

aici,user este numele de utilizator de pe mașina care rulează serverul Samba al persoanei cu privilegii de acces la partajare. Utilizați aceste două șabloane pentru a adăuga acțiuni pentru toate fișierele pe care utilizatorii ar putea dori să le acceseze de pe mașina server.

serverul dvs. ar trebui să fie complet configurat acum. Cu ceea ce ați adăugat la valorile implicite furnizate de distribuția dvs., smb-ul dvs. completat.conf ar trebui să arate ceva de genul asta:

security = shareworkgroup = HOMEserver string = %h serverlog file = /var/log/samba/log.%mmax log size = 1000dns proxy = Nohosts allow = 192.168.0.hosts deny = ALLprinting = cupsprintcap name = cupspath = /var/spool/sambaprintable = Yesbrowseable = Nopath = /var/lib/samba/printerspath = /Public/Filesguest ok = yesread only = nobrowseable = yespath = /private/files/valid users = meread only = yesbrowseable = no

înainte de a părăsi aparatul server aveți câteva treburi mai rapide. Mai întâi, introduceți toți utilizatorii care vor accesa serverul Samba în următoarea comandă:

smbpasswd -a user

vi se va solicita să introduceți o parolă Samba pentru fiecare utilizator. Puteți schimba parola în orice moment conectându-vă ca utilizator dorit și rulând smbpasswd. Acum reporniți serverul Samba folosind această comandă:

/etc/init.d/samba restart

accesarea partajărilor Samba de la clienții Windows

mergeți la o mașină Windows pentru a încerca noua dvs. configurare. Noul dvs. server ar trebui să apară în Windows’ Locurile mele de rețea (căutați comanda rapidă pe desktop, în mod implicit). Alternativ, deschideți meniul Start și faceți clic pe” Run…”, apoi introduceți:

\server

înlocuind server cu numele sau adresa IP a mașinii care rulează serverul Samba. Ar trebui să se deschidă o fereastră Windows Explorer cu acțiunile navigabile de pe serverul dvs. Dacă ați făcut o partajare care nu poate fi răsfoită, accesați-o folosind acest link:

\servershare name

este ușor să faceți directoarele partajate mai accesibile. În Windows XP, Faceți clic dreapta pe partajare în Explorer și alegeți „hartă unitate de rețea…” le veți putea atribui o literă de unitate, cum ar fi Z:, astfel încât să poată fi găsite cu ușurință în computerul meu, chiar și după o repornire.

în testarea mea pe Windows XP cu nivelul de securitate setat la share, imprimantele sunt detectate automat și disponibile pentru a fi utilizate de la mașina Windows. Cuuser set de securitate la nivel, a fost necesar să vă conectați la server într-o fereastră Windows Explorer înainte de a încerca să imprimați. Experiența dvs. pe alte versiuni de Windows poate varia.

accesarea partajărilor SMB/CIFS de la alte mașini Linux

partajările Samba și Windows pot fi accesate cu ușurință de la administratorii de fișiere implicite atât ai Gnome, cât și ai KDE. Vom începe cu accesarea acțiunilor de la Nautilus în Gnome. Deschideți Nautilus și accesați fișier – > Conectați-vă la Server.

alegeți „Partajare Windows” din caseta de listă și introduceți numele serverului sau adresa IP a serverului Samba. De asemenea, puteți face clic pe butonul „Răsfoiți rețeaua” și căutați în directorul „Windows Network” pentru a căuta manual serverul. Faceți clic pe” Conectați ” și se va deschide o fereastră Nautilus cu resursele navigabile ale serverului dvs.

accesarea acțiunilor Samba cu Konqueror este la fel de simplă. Pentru a căuta serverul dvs., introduceți adresa URL remote: / în Konqueror. Pentru acces direct, tastați URL-ul serverului în direct în acest format:

smb://user@server/share

rețineți că utilizatorul și partajarea sunt criterii opționale.

Configurarea imprimantelor prin Samba este la fel de ușoară în ambele medii desktop. În Gnome, accesați System -> administrare -> imprimare. În aplicația de configurare a imprimantei, selectați Printer -> Add printer. Vi se va solicita parola. În Expertul adăugare imprimantă, selectați” Imprimantă de rețea „și apoi” Windows Printer SMB ” din caseta de listă. Vi se va solicita un nume de utilizator și o parolă pe serverul dvs. Identificați gazda și imprimanta pe serverul Samba și apoi treceți la ecranul următor. Selectați modelul imprimantei și apoi faceți clic pe Aplicare.

pentru a face același lucru în KDE, deschideți Centrul de configurare lansând comanda kcontrol. Navigați la modulul imprimante și accesați Add -> Add Printer/Class… în dialogul rezultat, faceți clic pe Next și apoi selectați „SMB shared printer (Windows).”Faceți clic din nou pe Următorul și configurați numele de utilizator și parola unui „cont Normal”, dacă utilizați user nivel de securitate. Faceți clic pe Următorul altă dată și apoi scanați pentru a căuta serverul Samba.

alternativ, introduceți manual detaliile serverului. În ecranul următor, selectați modelul imprimantei din listă. Faceți clic pe următoarele câteva ecrane și dați imprimantei dvs. în rețea un titlu pentru a termina.

depanarea

Dacă ați întâmpinat probleme în a face să funcționeze oricare dintre aceste funcționalități, accesați lista de verificare a depanării Samba. Un truc rapid împrumutat din acel document pentru testarea fișierului de configurare Samba pentru erori evidente este să rulați următoarea comandă:

testparm smb.conf

Din nou, calea exactă a smb-ului dvs.conf poate varia în funcție de distribuție.

am explorat doar funcționalitatea Samba de bază aici, adaptată pentru o rețea de domiciliu. Scenarii de utilizare mai extreme sunt abordate în detaliu în Samba de exemplu ghid.