Bună prieteni!. Dacă vrem să avem un server independent (autonomă) pentru a partaja resurse fie de la postul nostru de lucru; sau pentru un grup mic de mașini; sau pentru o rețea LAN fără un controler de domeniu în stil Microsoft, este mai ușor să o faceți folosind Samba.
Există câteva instrumente grafice în acest scop, precum și instrumentul de administrare a Samba prin intermediul internetului «SWAT». In orice caz, recomandăm începătorilor care încep manual în această minunată lume. Nu este la fel de dificil sau diabolic pe cât cred mulți. Și în acest proces aflați multe despre rețelele SMB / CIFS și despre permisiuni și drepturi pe sistemele de fișiere Linux.
Înainte de a continua, vă recomandăm să citiți:
- Samba: Introducere necesară
- Samba: răsfoiți o rețea SMB / CIFS fără Samba
- Samba:SmbClient
- Samba:CIFS-Utils
Nu vom vedea cum să partajați imprimante folosind Samba. Celor care doresc să utilizeze această suită în aceste scopuri, vă recomandăm să citiți documentația însoțitoare, așa cum este indicat în Samba: Introducere necesară. De asemenea, puteți citi articolul CUPS: Cum se utilizează și se configurează imprimantele într-un mod simplu.
Puncte fundamentale de luat în considerare
- În ciuda aurei care înconjoară Directoarele active și controlerele de domeniu ale acestora, care în numeroase ocazii nu sunt necesare sau slab exploatate, instalarea și configurarea unui server Samba independent ESTE o opțiune validă și fiabilă.
- Un server independent poate fi la fel de sigur sau nesigur în funcție de nevoile noastre și îl putem configura într-un mod simplu sau complex.
- Autentificarea utilizatorului se efectuează pe serverul însuși unde se află resursele.
- Pentru ca un utilizator să poată accesa resursele de pe un computer la distanță, acesta trebuie să fie înregistrat și în baza de utilizatori Samba.
- Putem adăuga la baza de date a utilizatorilor Samba doar acei utilizatori care există deja pe serverul sau computerul nostru.
- Un server Samba independent NU furnizează autentificarea în rețea, așa cum o face un controler de domeniu. De asemenea, nu oferă Conectare la un domeniu.
- Cu cât modificăm și / sau adăugăm mai puțini parametri în fișier /etc/smb.conf Fără a ști mai întâi în detaliu ce vrem să realizăm, va fi mult mai bine.
- Serviciul de partajare a resurselor din Samba funcționează pe sistemul de fișiere Linux, inclusiv securitatea sa inerentă. Multe probleme sunt rezolvate acordând atenția cuvenită permisiunilor de fișiere și directoare.
- Este esențial să înțelegeți cum să gestionați comportamentul sistemului de fișiere din fișier smb.conf, precum și înțelegerea modului în care funcționează securitatea sistemului de fișiere UNIX / Linux.
- Vă recomandăm să nu utilizați accente, eñes sau spații în numele dosarelor și resurselor partajate. Utilizați de preferință minuscule pentru nume.
- Numele de partajare nu pot fi repetate pe o rețea LAN. Fiecare nume este unic.
- Dacă pe LAN nu există niciun server WINS, putem face Samba să acționeze ca atare adăugând în „global»Din dosar smb.conf parametrul câștigă sprijin = Da., ceea ce este foarte recomandat.
Exemplu de server
nume: miwheezy. Domeniu: prieteni.cu. IP: 10.10.10.20. Utilizatori: xeon, zeus și triton. Grupuri suplimentare: contoare
Instalare
Prin Synaptic sau prin consolă instalăm pachetul samba.
sudo aptitude install samba
Este foarte util să instalați și pachetul smbclient. O vom folosi pentru verificări.
În acest proces, pachetele vor fi instalate - dar am instalat anterior unele altele legate de Suite- samba, samba-comun, samba-common-bin y tdb-tools. De asemenea, fișierul este creat /etc/samba/smb.conf.. Acest fișier va fi creat atâta timp cât pachetele sunt instalate samba-comun y samba-common-bin, și nu va fi șters din sistem până când nu le dezinstalăm.
Fișierul smb.conf este cel mai important din Samba Suite
Samba are un număr mare de opțiuni de configurare, dintre care majoritatea nu sunt prezentate în exemplul smb.conf care se instalează implicit. Opțiunile comentate cu un «;»Sunt considerate suficient de importante pentru a fi afișate, iar valorile lor implicite diferă de valorile implicite ale comportamentului Samba. Opțiunile de configurare au comentat cu un «#«, Au valori implicite Samba și sunt, de asemenea, considerate importante pentru afișare.
Dacă vrem să vedem conținutul fișierului fără a lua în considerare opțiunile comentate, fie cu «;"sau cu"#«, Trebuie să executăm:
egrep -v '# |; | ^ * $' /etc/samba/smb.conf
Dacă vrem să vedem conținutul fișierului fără a lua în considerare opțiunile comentate cu «#«, Trebuie să executăm:
egrep -v '# | ^ * $' /etc/samba/smb.conf
Primul lucru de făcut este o copie a fișierului /etc/samba/smb.conf.. În fișierul în sine găsim modul în care Samba recomandă realizarea unei copii de lucru, pe care o detaliem mai jos. La fel de rădăcină executăm:
cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf root @ miwheezy: / etc / samba # ls -l total 32 -rw-r - r-- 1 rădăcină rădăcină 8 noiembrie 10 gdbcommands -rw-r - r-- 2002 rădăcină rădăcină 1 805 aug 4:12 smb.conf -rw-r - r-- 05 rădăcină rădăcină 1 12173 4 aug 12:05 smb.conf.master
Observați diferența de dimensiune între smb.conf generat în acest fel și original. Deoarece dimensiunea este mai mică, performanța serverului crește în conformitate cu ceea ce este indicat de echipa Samba.
Conținutul inițial al fișierului /etc/samba/smb.conf. Va fi (amintiți-vă că nu vom dezvolta partajarea imprimantei):
[global] grup de lucru = PRIETENI nume netbios = MIWHEEZY securitate = utilizator șir de server =% h harta de server către invitat = Utilizator rău respectă restricțiile pam = Da schimbare parolă pam = Da program passwd = / usr / bin / passwd% u passwd chat = * Introduceți \ snew \ s * \ spassword: *% n \ n * Reapetați \ snew \ s * \ spassword $ unix password sync = Da syslog = 0 fișier jurnal = /var/log/samba/log.%m dimensiunea maximă a jurnalului = 1000 dns proxy = Niciun share utilizator permite oaspeților = Da acțiune de panică = / usr / share / samba / panic-action% d idmap config *: backend = tdb [homes] comment = Acasă Directoare utilizatori valabili =% S create mask = 0700 director mask = 0700 browseable = Nu
Valorile evidențiate cu caractere aldine sunt singurele pe care trebuie să le modificăm inițial. Rețineți că, deși este comportamentul implicit al Samba, am declarat în mod explicit opțiunea securitate = utilizator dată fiind marea sa importanță.
Dacă pe LAN nu există niciun server WINS, putem face Samba să acționeze ca atare adăugând în „global»Din dosar smb.conf parametrul câștigă sprijin = Da., ceea ce este foarte recomandat.
regula de aur: Cu cât modificăm și / sau adăugăm mai puțini parametri în fișierul smb.conf fără a ști mai întâi în detaliu ce vrem să realizăm, cu atât va fi mai bine.
Iată un rezumat strâns al unora dintre opțiunile prezentate. Pentru mai multe informații, rulați om smb.conf.
- grup de lucru: Comenzi în care grupul de lucru va apărea echipamentul atunci când creați un browser web. Acest parametru controlează, de asemenea, numele domeniului atunci când lucrați cu opțiunea securitate = domeniu și în care echipa se alătură unui domeniu. O vom vedea în articolele ulterioare. Valoarea implicită este GRUP DE LUCRU.
- numele netbios: Setați numele NetBIOS cu care serverul Samba va fi cunoscut în rețea. În mod implicit, este la fel ca prima componentă a FQDN de la gazdă. În exemplul nostru FQDN al echipei este miwheezy.amigos.cu. Putem folosi un nume diferit de gazdă pentru serverul nostru Samba. În acest caz, este recomandabil să includeți o înregistrare CNAME în DNS.
- securitate: Parametru care afectează modul în care clienții răspund la Samba și este unul dintre cei mai importanți din fișier smb.conf. Valoarea implicită este utilizator.
- șir de server: Controlează numele care este afișat în comentariile care apar într-un browser web lângă numele echipei.
- harta pentru oaspeti: Parametru care este util numai atunci când este setat securitate = utilizator o securitate = domeniu. Valoarea „Utilizator necorespunzător” îi spune lui Samba să respingă o parolă nevalidă, cu excepția cazului în care utilizatorul NU există, caz în care vor fi tratați ca invitați sau „oaspete«. Dacă nu dorim să permitem sesiunile de invitați, trebuie să îi schimbăm valoarea în Niciodată, care este exact valoarea implicită și, de asemenea, modifica parametrul share-urile utilizatorilor permit oaspeților a Nu., care este și valoarea implicită.
- respectă restricțiile pam: Controlează dacă Samba trebuie sau nu să respecte propriile restricții ale PAM «Modul de autentificare conectabil«, Cu privire la Directivele de administrare a conturilor de utilizator și a sesiunilor. Valoarea implicită este Nu..
- schimbarea parolei pam: Spune lui Samba să utilizeze PAM pentru modificările de parolă solicitate de un client SMB. Valoarea implicită este Nu..
- program paswd: Program utilizat pentru setarea parolelor UNIX pentru utilizatori.
- chat passwd: Lanț care controlează conversația care are loc între demon smbd și programul local pentru schimbarea parolei definit în parametrul anterior.
- sincronizare parolă unix: Îi spune lui Samba să sincronizeze parola SMB cu parola UNIX, atâta timp cât prima se schimbă. Valoarea implicită este Nu..
- utilizatori valizi: Lista utilizatorilor cărora li se permite să se conecteze la o partajare.
Reporniți sau reîncărcați serviciul Samba
Ori de câte ori facem modificări semnificative, mai ales în secțiunea «[global]"din smb.conf, trebuie să repornim serviciul. Dacă avem deja utilizatori conectați la serverul nostru, de fiecare dată când repornim Samba, îi vom deconecta. De aceea, și practic de acum înainte, vom reîncărca serviciul doar atunci când adăugăm sau modificăm resurse partajate. Pentru a reporni serviciul, executăm ca rădăcină:
repornirea serviciului samba
Pentru a reîncărca serviciul:
service reîncărcare samba
Adăugăm utilizatorii la sistem și la baza de date Samba
Putem adăuga în baza de date a utilizatorilor Samba doar acei utilizatori care există deja pe serverul nostru local.
În exemplul nostru, utilizatorul Xeon® a fost adăugat în timpul instalării lui Wheezy. Prin urmare, nu îl vom adăuga utilizatorilor echipei. Grupul de utilizatori există pe sistem și a fost creat în timpul instalării.
Unele opțiuni de comandă smbpasswd sunet:
- -a: Adăugați utilizatorul specificat la fișierul local smbpasswd.
- -x: Utilizatorul indicat trebuie eliminat din fișierul local smbpasswd. Disponibil numai când smbpasswd aleargă ca. rădăcină.
- -d: Contul de utilizator indicat trebuie să fie dezactivat. Disponibil numai când smbpasswd aleargă ca. rădăcină.
- -e: Opus opțiunii -d atâta timp cât contul utilizatorului este dezactivat.
Pentru a crea utilizatorii din echipa noastră, o facem cu comanda bine-cunoscută Adăugați utilizator.
adduser zeus adduser triton
Pentru a crea grupul contoare:
contoare de grupuri adiționale
Pentru a adăuga utilizatori la baza de date Samba:
smbpasswd -o rădăcină smbpasswd -a xeon smbpasswd -a zeus smbpasswd -a triton
Ne alăturăm grupului contoare utilizatorilor pe care îi dorim:
adduser xeon counters adduser zeus counters adduser triton counters
Este recomandat să vă alăturați fiecărui utilizator creat în grup utilizatorii, în cazul în care dorim să acordăm permisiuni tuturor utilizatorilor pe care i-am creat, pentru o anumită resursă. O modalitate mai ușoară de a vă alătura mai multor utilizatori într-un grup este editarea directă a fișierului / etc / groupși adăugarea listei de utilizatori separați prin virgulă. Pot fi ghidați de grup contoare. Presupunem că ne alăturăm utilizatorilor la grup utilizatorii.
Pe o stație de lucru, pentru a elimina utilizatorii afișați creați utilizând Adăugați utilizator, trebuie să edităm fișierul /etc/gdm3/greeter.gsettings și decomentați opțiunea disable-user-list = adevărat, astfel încât să nu se afișeze NICI o listă de utilizatori la conectare. Acesta este comportamentul standard al oricărui computer client Windows conectat la un domeniu.
În mod similar, dacă vrem ca utilizatorii creați să nu înceapă o sesiune la distanță ssh, edităm fișierul / Etc / ssh / sshd_config și adăugați la sfârșitul fișierului instrucțiunea AllowUsers. exemplu:
[....] # și ChallengeResponseAuthentication la „nu”. UsePAM da AllowUsers xeon
Adăugăm resurse comune
Exemplu 1: Vrem să partajăm folderul / acasă / xeon / muzică pentru toți utilizatorii înregistrați. Permisiunea va fi numai în citire. În primul rând creăm folderul / acasă / xeon / muzică și îi configurăm proprietarul și permisiunile, dacă este necesar. Ca utilizator Xeon executăm:
mkdir / home / xeon / music ls -l / home / xeon | muzică grep
Apoi, la sfârșitul fișierului smb.conf adăugăm următoarele:
[music-xeon] comment = Calea folderului muzical personal = / home / xeon / music read only = Da utilizatori validi = @users read list = @users
După modificările aduse fișierului, executăm test parm ca utilizator Xeon® și reîncărcăm serviciul ca. rădăcină. De asemenea, putem rula ambele comenzi cum ar fi rădăcină:
testparm service reîncărcare samba
Pentru a verifica serviciul nou configurat îl putem face executând următoarea comandă pe computerul însuși:
smbclient -L localhost -U%
Exemplu 2: Vrem să partajăm folderul / acasă / xeon / muzică pentru toți utilizatorii înregistrați. Permisiunile vor fi citite / scrise pentru Xeon® și numai în citire pentru restul utilizatorilor care aparțin grupului utilizatorii. Nu avem nevoie să modificăm proprietarul sau permisiunile din dosar. Pur și simplu schimbăm puțin setările de partajare din fișier smb.conf.
[music-xeon] comment = Calea folderului muzical personal = / home / xeon / music read only = Nu există utilizatori valabili = @users write list = xeon read list = @users
Exemplu 3: Vrem să partajăm folderul / home / xeon / contabilitate pentru grupul de utilizatori contoare. Toți membrii grupului vor avea permisiunea de citire. Utilizatorii triton y Zeus vor putea scrie în folderul partajat.
Acum, dacă trebuie să modificăm proprietarul și permisiunile folderului contabilitate după ce au fost create, astfel încât să poată scrie triton y Zeus care sunt membri ai grupului contoare. De asemenea, trebuie să avem grijă ca ultimul utilizator care creează sau modifică un fișier să nu devină proprietarul său absolut, astfel încât să poată fi modificat de alți utilizatori cu permisiuni de scriere.
Este esențial să înțelegeți cum să gestionați comportamentul sistemului de fișiere din smb.conf, precum și înțelegerea modului în care funcționează securitatea sistemului de fișiere UNIX / Linux.
În aceste cazuri trebuie:
- Declarați la îndemână cine va fi Utilizatorul proprietar și cine va fi grupul de proprietari din directorul partajat.
- Permiteți scrierea în directorul partajat de către grupul de proprietari.
- Declară bitul PANTOF (Setați ID-ul grupului) a directorului în timpul creării sale.
- Declarați corect în fișier smb.conf modalitățile de a crea fișiere și directoare în cadrul resursei noastre partajate.
O soluție simplă și posibilă în practică o vom avea dacă executăm ca rădăcină:
mkdir / home / xeon / accounting chown -R root: counters / home / xeon / accounting chmod -R g + ws / home / xeon / accounting ls -l / home / xeon
Și adăugăm următoarele la sfârșitul fișierului smb.conf:
[contabilitate] comentariu = Dosar pentru contabili cale = / home / xeon / contabilitate numai citire = Niciun utilizator valid = @ contabili lista de scriere = triton, zeus listă de citire = @ contabili forțează modul de creare = 0660 forțează modul director = 0770
Verificăm imediat sintaxa de bază a smb.conf prin test parm și reîncărcăm serviciul prin service reîncărcare samba. De asemenea, putem alerga smbclient -L localhost -U%. pe serverul local și smbclient -L mywheezy -U% o smbclient -L mywheezy.friends.cu -U% de pe computerul de la distanță.
Timpul este ca de la un computer la distanță să ne conectăm la resursa partajată și să facem toate testele necesare. Este recomandabil să verificați modul în care utilizatorul care deține folderele și fișierele se modifică pe măsură ce sunt create în cadrul resursei.
Important: Utilizatorul rădăcină sau utilizatorul Xeon® și, în general, orice membru al grupului contoare, puteți scrie dintr-o sesiune locală începută pe același computer sau de ssh, adică fără a utiliza protocolul SMB / CIFS. Dacă creați un folder sau un fișier local, nu uitați să reatribuiți permisiunile corespunzătoare. Verificați ls -l. Nerespectarea celor de mai sus este sursa multor confuzii.
Prieteni, iartă-mă lungimea articolului și sper că îți va fi de folos. Până la următoarea aventură!
Excelent ca întotdeauna. Aceste tipuri de articole sunt apreciate atunci când lucrăm cu servere. 😉
Freeke foarte bun, dar pentru mine este mai bine să folosesc FreeNAS pentru astfel de lucruri
????
Multumesc pentru comentarii!!!. Freeke, FreeNAS-ul FreeBSD este o altă poveste sălbatică și pot să îi dedic un articol. În cele din urmă este Samba peste FreeBSD.
Post foarte bun, trebuie să spun, așa cum am spus întotdeauna dacă ai fi postat asta acum câțiva ani, mi-ar fi salvat o mulțime de probleme, dar este bine că cineva este interesat să arate cum să configurezi samba, Salutări
Așa cum se spune „nu este niciodată târziu dacă fericirea este bună” și cealaltă „este mai bine târziu decât niciodată”. Mulțumesc pentru comentariu. Cred că am început să folosesc Samba în jurul anului 2007. Până acum nu reușisem să postez nimic despre asta.
La fel, folosesc samba aproape în același timp, dar văd că te-ai perfecționat foarte mult și ai dreptate că „niciodată nu este prea târziu dacă fericirea este bună”, mi s-a părut, trebuie să spun că este foarte bine ca cineva să împărtășească cunoștințele lor, mulți Uneori cineva nu este încurajat sau nu are timp, în cazul meu este primul, Salutări
Prietene @fico, îmi plac foarte mult articolele tale. Sunt extrem de bine explicate și detaliate. Mulțumesc.
Sper să vă fie de folos. Acesta este scopul !!!.
Da. Este 🙂
Apropo, tocmai am văzut articolul tău postat pe altă pagină (http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html), iar referința la sursă este foarte mică. Asta nu se face. Merit cine o merită, la naiba! Nu știu dacă de aici îi pot cere pe acei oameni să facă o mare diferență cine face lucrurile. Pentru ochiul neantrenat ar trece de parcă l-ar fi creat și postat.
Domnule autor al postării, dacă creați un articol despre cum să partajați fișiere prin samba pentru utilizatorii obișnuiți, mă refer la ceva mai puțin extins și mai grafic, cum ar fi cum să partajați de la Linux la Linux și de la Linux la Windows, dar nu de la unul la fel de profesionist, dar pentru a partaja fișiere între PC-uri acasă.
În acest caz, vă recomand să utilizați ssh pentru Linux - Linux și winscp pentru Windows - Linux. Există mai multe articole pe același site.
Aceeași postare, deși poate părea complicată, dacă copiați și lipiți câteva comenzi pe care le include, funcționează și pentru o rețea de domiciliu.
Deși ar fi mai practic să folosiți sistemul SMB / CIFS pentru a utiliza același protocol de partajare a fișierelor pentru Windows (sau folderele partajate pe scurt).
Voi face experimentele mele pentru a putea face un tutorial despre cum să faci un folder partajat în GNU / Linux (în cazul meu, Debian Wheezy), astfel încât rețelele cu Windows să îl recunoască ca un folder partajat.
foarte bine și lungimea merită, dar poate ar trebui să menționați parametrul oslevel mai devreme înainte de a interacționa cu Windows.
În ceea ce priveşte
Rețineți că este o rețea fără controler de domeniu Windows. Vom folosi acest parametru atunci când avem de-a face cu o mașină alăturată unui domeniu.
când voi avea ceva timp o voi face
[offtopic] Aș dori să postez tutoriale GIMP. Poate?
[/ pe langa subiect]
Prietene @giskard, tocmai am vizitat http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html, și nu am văzut nicio referire la această postare. Au făcut o copie / lipire pe obraz, Hahahahahaha. Arată că, cel puțin, postarea este de bună calitate. Eu zic, nu? Hahahahahaha.
Aproape de final, cu litere minuscule, este link-ul care spune „sursă” și indică acest site. Dar a fi făcut-o așa mi se pare o grosolănie totală și o lipsă de respect. Din fericire, aici știm cine este autorul 🙂
Ei pun referința, dar cu greu se poate observa că au trebuit să menționeze la începutul articolului
În arch wiki se spune că începând cu versiunea 3.4 se recomandă utilizarea pdbedit în loc de smbpasswd.
O întrebare, potrivit unui prieten înainte de a adăuga un utilizator la Samba, un utilizator trebuie creat în sistem, dar cu / bin / false
useradd -s / bin / false myuser
Este 0.o adevărat?
Prieten @ truko22 și, în general, pentru cei care pun întrebări similare. Amintiți-vă că am afirmat întotdeauna că oferim doar un Punct de intrare la subiect. De asemenea, vă recomandăm să citiți documentația însoțitoare. În cele din urmă, personalizarea serviciului este responsabilitatea celui care îl implementează, într-un mod care să răspundă nevoilor lor și nivelului de securitate care îi satisface.
De exemplu, problema permisiunilor poate fi evitată dacă permitem oricui să scrie în partajare folosind chmod 777. Desigur, aceasta nu este o soluție sigură.
Puteți împiedica utilizatorul să înceapă o sesiune locală sau prin ssh dacă o creăm utilizator adduser –shell / bin / false. Adică, utilizatorul astfel creat nu poate accesa un terminal sau o consolă.
Cu alte cuvinte, Samba poate fi configurat în mai multe moduri, variind de la cel mai simplu la cel mai complex.
Ce se întâmplă?. Dacă de la început scriem postarea fără a permite utilizatorilor adăugați la Samba să se conecteze la nivel local, ei vor întreba cu siguranță de ce. De aceea, preferăm să o scriem în cel mai clasic mod posibil și să lăsăm fiecare să tragă propriile concluzii.
@ truko22, Mulțumesc că mi-ai dat punctul potrivit pentru a face comentariul anterior !!!
Vă mulțumesc foarte mult, acum înțeleg 😀 despre –shell / bin / false
Prietene @ truko22, am uitat de pdbedit. De la Etch m-am obișnuit să folosesc smbpasswd. Această comandă poate fi executată de orice utilizator din sistem, iar comportamentul și rezultatele sale variază. pdbedit, poate fi de asemenea utilizat, dar poate fi invocat doar de utilizatorul root.
Despre Samba, puteți scrie articole întregi despre multe dintre comenzile sale.
E foarte bine!!
În ceea ce priveşte
Articol foarte bun. Felicitări și mulțumiri pentru o astfel de contribuție
Am vrut să vă întreb dacă a existat un articol despre samba ca controler de domeniu și dacă acesta poate controla deja domeniul cu politici de grup, cum ar fi un server Windows, mă refer la a preveni schimbarea proprietăților adreselor de rețea, utilizarea pendrive etc.
Bună, ce mai face Fico, am instalat Samba 3.6 cu LDAP și LAM 3.7 - aș dori să știu dacă știți cum să permiteți utilizatorilor să schimbe parola la pornirea secțiunii, deoarece îmi spune „nu aveți permisiunea de a vă schimba parola” salutări ...