Samba - primii pași. Crearea unei rețele de domiciliu folosind Samba pentru dispozitive care rulează Windows, Linux, Android OS Samba Service

Fișierul principal de configurare Samba este /etc/samba/smb.conf. Fișierul de configurare inițială are un număr semnificativ de comentarii pentru a documenta diferitele directive de configurare.

Nu toate opțiunile posibile sunt incluse în fișierul de setări implicite. Vezi manualul om smb.conf sau Întrebări frecvente Samba pentru mai multe detalii.

1. Mai întâi modificați următoarele perechi cheie/valoare din secțiune fișier /etc/samba/smb.conf:

Grup de lucru = EXEMPLU ... securitate = utilizator

Parametru Securitate este situat mult mai jos în secțiune și este comentat în mod implicit. De asemenea, înlocuiți EXEMPLU la ceva mai potrivit cu mediul înconjurător.

2. Creați o nouă secțiune la sfârșitul fișierului sau decomentați unul dintre exemplele pentru directorul pe care doriți să-l partajați:

Comentariu = Cale de partajare a serverului de fișiere Ubuntu = /srv/samba/share browsable = da invitat ok = da numai citire = nu creați mască = 0755

    cometariu: O scurtă descriere a resursei partajate. Folosit pentru confortul dumneavoastră.

    cale: calea către directorul partajat.

    Acest exemplu folosește /srv/samba/sharename deoarece, conform standardului de ierarhie a sistemului de fișiere (FHS), directorul /srv este locul în care ar trebui să se găsească toate datele legate de un anumit site. Din punct de vedere tehnic, o partajare Samba poate fi plasată oriunde în sistemul de fișiere unde restricțiile de acces la fișiere permit, dar se recomandă respectarea standardelor.

    navigabil: Permite clienților Windows să vizualizeze conținutul unui director partajat folosind Windows Explorer.

    oaspete ok: Permite clienților să se conecteze la resursa partajată fără a furniza o parolă.

    numai citit: Stabilește dacă resursa este accesibilă cu privilegii de numai citire sau de scriere. Privilegiile de scriere sunt disponibile numai atunci când specificați Nu, așa cum se arată în acest exemplu. Dacă valoarea da, atunci accesul la resursă va fi doar în citire.

    creați mască: Definește ce drepturi de acces vor fi setate pentru fișierele noi create.

3. Acum că Samba este configurat, trebuie să creați un director și să setați permisiuni pentru el. Intra in terminal:

Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/

parametru -p îi spune mkdir să creeze un arbore de director complet dacă acesta nu există.

4. În cele din urmă, reporniți serviciile samba pentru a aplica noile setări:

Sudo restart smbd sudo restart nmbd

Acum puteți căuta în serverul de fișiere Ubuntu folosind clientul Windows și puteți răsfoi directoarele partajate. Dacă clientul dvs. nu vă arată automat partajările, încercați să vă accesați serverul prin adresa sa IP, de exemplu, \\192.168.1.1, dintr-o fereastră Windows Explorer. Pentru a verifica dacă totul funcționează, încercați să creați un director în interiorul partajării din Windows.

Pentru a crea partajări suplimentare, creați o nouă secțiune în /etc/samba/smb.conf și reporniți Samba. Doar asigurați-vă că directorul partajat este creat și are permisiunile corecte.

Resursă comună "" si calea /srv/samba/share- acestea sunt doar exemple. Setați numele resursei și numele directorului în funcție de mediul dvs. Este o idee bună să folosiți numele directorului resursei de pe sistemul de fișiere ca nume al resursei. Cu alte cuvinte, resursa poate fi specificată pentru directorul /srv/samba/qa.

Implementarea protocoale de rețea Server Message Block (SMB)Și Common Internet File System (CIFS). Scopul principal este de a partaja fișiere și imprimante între sistemele Linux și Windows.

Samba constă din mai mulți demoni care lucrează în fundalși furnizarea de servicii și o serie de instrumente de linie de comandă pentru interacțiunea cu serviciile Windows:

  • smbd- un daemon care este un server SMB pentru servicii de fișiere și servicii de imprimare;
  • nmbd- un daemon care oferă servicii de denumire NetBIOS;
  • smblient- utilitarul oferă acces în linia de comandă la resursele SMB. De asemenea, vă permite să obțineți liste resurse partajate pe servere la distanță și vizualizați mediul de rețea;
  • smb.conf- un fișier de configurare care conține setări pentru toate instrumentele Samba;

Lista de porturi utilizate de Samba

  • acțiune- acest mod de securitate emulează metoda de autentificare folosită de sistemele de operare sisteme Windows 9x/Windows Me. În acest mod, numele de utilizator sunt ignorate și parolele sunt atribuite partajărilor. În acest mod, Samba încearcă să folosească o parolă furnizată de client care poate fi folosită de diferiți utilizatori.
  • utilizator* - Acest mod de securitate este setat implicit și folosește un nume de utilizator și o parolă pentru autentificare, așa cum se face de obicei în Linux. În cele mai multe cazuri, pe sistemele de operare moderne, parolele sunt stocate într-o bază de date criptată care este folosită doar de Samba.
  • Server- acest mod de securitate este folosit atunci când este necesar ca Samba să efectueze autentificare atunci când accesează un alt server. Pentru clienți, acest mod arată la fel cu autentificarea la nivel de utilizator (modul utilizator), dar Samba contactează de fapt serverul specificat în parametrul serverului de parole pentru a efectua autentificare.
  • domeniu- folosind acest mod de securitate, vă puteți alătura complet unui domeniu Windows; Pentru clienți, aceasta arată la fel ca autentificarea la nivel de utilizator. Spre deosebire de autentificarea la nivel de server, autentificarea de domeniu utilizează un schimb de parole mai sigur la nivel de domeniu. Pentru a vă alătura complet unui domeniu, trebuie să rulați comenzi suplimentare pe sistemul Samba și, eventual, pe controlerul de domeniu.
  • reclame- acest mod de securitate este similar cu metoda de autentificare a domeniului, dar necesită un controler de domeniu Director activ Servicii de domeniu.

Lista completă a parametrilor Samba este în paginile de manual.

Mai sus a fost un exemplu cu acces la un director cu acces partajat. Să luăm în considerare un alt exemplu cu un director privat, care poate fi accesat doar prin autentificare și parolă.

Să creăm un grup și să adăugăm un utilizator la el

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

Să creăm un director pentru utilizator și să setăm drepturile

Sudo mkdir -p /srv/samba/proft sudo chown -R proft:smbgrp /srv/samba/proft sudo chmod -R 0770 /srv/samba/proft

Să creăm un utilizator samba

Sudo smbpasswd -a proft

Adăugați o nouă resursă la /etc/samba/smb.conf

Cale = /srv/samba/proft utilizatori validi = @smbgrp guest ok = nu poate fi scris = da navigabil = da

Să repornim serverul

Sudo systemctl restart smbd

Un exemplu de configurare a unei resurse care conține link simbolicîn folderul utilizatorului ( /srv/samba/media/video » /home/profit/video)

Cale = /srv/samba/media guest ok = yes read only = yes browsable = yes force user = profit

Configurarea clientului

Vizualizați resursele partajate ale computerului dvs

Smbclient -L 192.168.24.101 -U%

O altă metodă de conectare pentru un utilizator anonim cu Linie de comanda

Smbclient -U nobody //192.168.24.101/public ls

Dacă serverul este configurat cu un nivel mai ridicat de securitate, poate fi necesar să transmiteți numele de utilizator sau numele domeniului utilizând opțiunile -W și respectiv -U.

Smbclient -L 192.168.24.101 -U proft -W WORKGROUP

Montarea unei resurse samba

# creați un punct de montare mkdir -p ~/shares/public # montați o resursă # pentru utilizatorul anonim nobody mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=nobody,password=, workgroup= WORKGROUP,ip=192.168.24.101,utf8 # for user proft mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,parola=1,workgroup=WORKGROUP,ip= 192.168.24.101,utf8

Mai mult parole mai bune stocați într-un fișier separat

# sudo vim /etc/samba/sambacreds username=proft password=1 username=noboy password=

Setați drepturile de acces la 0600

Sudo chmod 0600 /etc/samba/sambacreds

Linie nouă de montare

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Și un exemplu pentru /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Puteți deschide resursa în managerul de fișiere Nautilus/Nemo/etc folosind această cale smb://192.268.24.101.

Dacă Nemo scrie Nemo nu poate gestiona locațiile „smb”.înseamnă că lipsește pachetul gvfs-smb.

Acces la server cu client Windows și Android

În Windows, puteți afla grupul de lucru din consolă folosind

Stație de lucru Net Config

Puteți deschide resurse pe o mașină la distanță tastând adresa UNC în linia Explorer sau în Run (Start - Run): \192.168.24.101 .

Pe Android vă puteți conecta la server folosind ES File Explorer, pe fila Rețea, adăugați un server, pur și simplu prin IP (fără a specifica schema, smb). După care puteți deschide resursele partajate. Pentru statistici: un film HDRIP rulează fără încetiniri.

Lectură suplimentară

În zilele noastre, este destul de comun să găsiți computere care rulează Linux și Windows în aceeași rețea locală. Motivele acestei simbioze pot fi diferite: de exemplu, proprietarii unui internet cafe nu aveau suficiente fonduri pentru a cumpăra un sistem de operare licențiat pentru toate computerele sau pur și simplu a fost angajat un administrator de sistem. laturi pozitive Linux. Popularitatea sistemelor de operare Microsoft este determinată în mare măsură de software-ul client pentru Windows. Nu este un secret pentru nimeni că acest sector software foarte dezvoltat. Multe companii au făcut eforturi serioase în acest sens și au creat programe foarte bune și, cel mai important, ușor de utilizat, pe care chiar și un utilizator obișnuit le poate stăpâni cu ușurință. Dar ca server, poziția Windows nu mai este atât de clară. Un server care rulează Unix este caracterizat în mod tradițional prin fiabilitate, funcționare stabilă, securitate și, adesea, cerințe mai mici pentru resursele sistemului. Dar, în orice caz, simpla conectare la rețea a computerelor cu platforme software diferite nu va obține rezultatul așteptat. Problema este că aceste două sisteme folosesc principii diferite pentru organizarea resurselor de rețea care sunt incompatibile între ele.
Deoarece nu este nevoie să așteptați mila Microsoft, iar Windows este puțin probabil să învețe să lucreze cu sistemul de fișiere de rețea Unix (NFS) folosind mijloace standard și, sincer să fiu, nu cunosc programe terțe, cel mai modalitatea populară este să încerci să-l înveți pe Unix să „prefacă” că dacă ar fi Windows NT.

Interacțiunea într-o rețea de computere care rulează Windows se bazează pe utilizarea protocolului SMB (Server Message Block)- blocuri de mesaje pe server. Se asigură că sunt îndeplinite toate sarcinile necesare în aceste cazuri: deschiderea și închiderea, citirea și scrierea, căutarea fișierelor, crearea și ștergerea directoarelor, setarea unei lucrări de imprimare și ștergerea acesteia de acolo. Toate acțiunile necesare pentru aceasta sunt implementate în sisteme de operare asemănătoare Unix folosind pachetul SAMBA. Capacitățile sale pot fi împărțite în două categorii: furnizarea de resurse (prin care înțelegem accesul la sistemul de imprimantă și la fișiere) pentru clienții Windows și accesul la resursele clientului. Adică, un computer care rulează Linux poate acționa atât ca server, cât și ca client. În primul rând, să luăm în considerare opțiunea de server SAMBA.

Ce ar trebui să asigure SAMBA operatie normala pe o rețea de mașini Windows? În primul rând, controlul accesului, care poate fi implementat fie la nivel de resursă (nivel de partajare), atunci când o parolă și regulile de utilizare corespunzătoare sunt atribuite oricărei resurse din rețea (de exemplu, „numai citire”), în timp ce numele de utilizator are absolut nu nici un sens; sau o organizare mai avansată și mai flexibilă la nivel de utilizator, atunci când se creează un cont pentru fiecare utilizator, care, pe lângă nume și parolă, conține toate informațiile necesare despre drepturile de acces la resursă. Înainte de a obține acces la resursa necesară, fiecare utilizator este autentificat, după care i se acordă drepturi conform conturilor sale. În al doilea rând, este necesară emularea drepturilor de acces determinate de sistemul de fișiere. Chestia este că sistemele în cauză au drepturi de acces la fișiere și directoare de pe disc în mod diferit. În Unix, există în mod tradițional trei categorii de utilizatori de fișiere: proprietar, grupȘi restul (altul). Fiecare dintre aceste entități poate fi furnizată permisiuni de citire, scrieȘi execuţie. În Windows NT, sistemul de acces este ceva mai flexibil; accesul este acordat mai multor grupuri sau utilizatori, iar drepturile de acces corespunzătoare sunt determinate separat pentru fiecare subiect. Prin urmare, este imposibil să emulați pe deplin drepturile de acces inerente NTFS folosind SAMBA.

Cu clienții care rulează Windows 9x, situatia este alta. De pe vremea bunicului DOS, datorită faptului că sistemul este un singur utilizator și nu se putea vorbi despre niciun utilizator, cu atât mai puțin despre grupuri, doar patru atribute au fost definite pentru sistemul de fișiere FAT - Numai citire, sistem, arhivă și ascuns. În plus, în Windows, spre deosebire de Unix, extensia de fișier are o semnificație specială - cele care sunt destinate a fi executate au extensiile .exe, .com sau .bat. Când copiați fișiere de pe mașinile Unix pe computerele care rulează Control Windows atributele sunt setate astfel:

doar pentru lectură- citit, scris pentru proprietar;

de arhivă- executie pentru proprietar;

sistemică- executie pentru grup;

ascuns - execuție pentru grup.

O rețea de mașini Windows poate fi organizată ca un grup de lucru, atunci când calculatoarele sunt independente unele de altele și fiecare are propria sa bază de date de parole și autentificări cu propria politică de securitate, precum și ca un domeniu NT. Întreaga bază pentru autentificarea utilizatorului și a computerului este gestionată controler de domeniu primar (PDC, controler de domeniu primar), adică centralizat. Samba vă permite să restricționați accesul la toate aceste niveluri și acționează ca un „browser principal” în contextul unui grup de lucru sau controler de domeniu.

Am rezolvat problemele organizatorice generale. Să ne uităm acum în mod specific la implementarea și configurarea unui server SAMBA în Linux. Pentru ca serverul Samba să funcționeze, trebuie să ruleze doi demoni: smbd, care oferă un serviciu de imprimare și partajare de fișiere pentru clienții Samba (cum ar fi Windows of all stripes) și nmbd, care alimentează serviciul de nume NetBIOS (poate fi folosit și pentru a interoga alte daemoni de servicii de nume). Protocolul este folosit pentru a accesa clienții TCP/IP. De obicei, Samba este instalat cu o distribuție Linux. Cum se verifică? Doar da comanda:

și ar trebui să obțineți ceva de genul acesta:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Dacă nu este inclus în distribuția standard, atunci bine ați venit la ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz sau aproape orice server cu programe pentru Linux. Pachetul este ușor de instalat, așa că pentru a nu ocupa spațiu, vom presupune că îl aveți instalat. Acum să verificăm dacă demonul rulează:

$ ps -aux | grep smbd root 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

După cum puteți vedea, îl am deja în funcțiune. Dacă nu îl aveți și doriți să pornească atunci când sistemul pornește, atunci în Linux Mandrake, de exemplu, bifați caseta dorită în DrakConf- pornirea serviciilor sau în Panoul de control Red Hat- Configurare serviciu, de obicei acest lucru este suficient. Sau începeți manual: ./etc/rc.d/init.d/smb start. Singurul fișier de configurare Samba se numește smb.conf și se află de obicei în directorul /etc (deși în AltLinux, de exemplu, se află în directorul /etc/samba). Serviciul SAMBA îl citește la fiecare 60 de secunde, așa că modificările aduse configurației intră în vigoare fără repornire, dar nu se aplică conexiunilor deja stabilite.

De aceea iubesc Linux, deoarece fișierele de configurare sunt text simplu (și bine comentate în interior), iar pentru a folosi majoritatea parametrilor, trebuie doar să decomentezi linia corespunzătoare. Fișierul smb.conf nu face excepție. Este format din secțiuni denumite care încep cu numele secțiunii inclus în paranteza patrata. În interiorul fiecărei secțiuni există un număr de parametri sub forma cheie=valoare. Fișierul de configurare conține patru secțiuni speciale: , și resurse individuale (acțiuni). După cum sugerează și numele, secțiunea conține cele mai generale caracteristici care se vor aplica peste tot, dar care, totuși, pot fi apoi înlocuite în secțiuni pentru resurse individuale. Unii parametri din această secțiune sunt relevanți și pentru configurarea părții client Samba.

Valorile parametrilor tipici de secțiune global:

Workgroup = group_name # numele grupului de lucru din rețeaua Windows netbios name = numele serverului de pe serverul de rețea șir = comentariu care este vizibil în fereastra proprietăților de navigare în rețea guest ok = yes # permitând autentificarea invitatului (guest ok = nu - invitat autentificarea este interzisă) cont invitat = nimeni # nume sub care este permisă autentificarea oaspetelui securitate = utilizator # Nivel de acces. utilizator - la nivel de utilizator, securitate = share - autentificare bazată pe nume de utilizator și parolă. La stocarea bazei de date de parole pe un alt server SMB, se folosesc valorile security = server și parola server = name_server_NT. Dacă serverul este membru al unui domeniu, se folosește valoarea security = domain, parola de acces este specificată în fișierul definit folosind opțiunea smb passwd file = /path/to/file.

În plus, în timpul înregistrării puteți utiliza parole criptate și necriptate (text simplu).. Acestea din urmă sunt utilizate în Windows mai vechi (Windows for Workgroups, Windows 95 (OSR2), toate versiunile de Windows NT 3.x, Windows NT 4 (până la Service Pack 3)). Pentru a activa opțiunea de utilizare a unei parole criptate, utilizați opțiunea criptare parolă = da. Vă rugăm să acordați o atenție deosebită acestei opțiuni. Pe distribuțiile mai vechi Linux care au fost construite în timpul erei Windows 95 (și cu o versiune mai veche de Samba), criptarea parolei este dezactivată în mod implicit, iar samba înainte versiunea 2.0 nu suportă deloc acest mod (apropo, această opțiune și altele similare - cele care nu au legătură cu accesul la resurse specifice - sunt și ele utilizate în client).

Pentru a afișa corect numele fișierelor rusești, sunt necesare următoarele opțiuni: pagina de cod client = 866 și set de caractere = koi8-r. În distribuțiile cu localizare bună, de exemplu, derivate din Mandrake și cele rusești, această linie este deja acolo; uneori este suficient doar să o decomentați, dar în majoritatea celorlalte trebuie să o adăugați singur.

Opțiunea interfețe = 192.168.0.1/24 specifică pe ce rețea (interfață) ar trebui să ruleze programul dacă serverul este conectat la mai multe rețele simultan. Când setați parametrul de conectare numai interfețe = da, serverul va răspunde numai la solicitările din aceste rețele.

gazdele permit = 192.168.1. 192.168.2. 127. - definește clienții cărora le este permis accesul la serviciu.

În secțiunea globală, puteți utiliza diverse variabile pentru o configurare mai flexibilă a serverului. După stabilirea conexiunii, valorile reale sunt înlocuite. De exemplu, în directiva fișier jurnal = /var/log/samba/%m.log, parametrul %m ajută la definirea unui fișier jurnal separat pentru fiecare computer client. Iată cele mai frecvente variabile utilizate în secțiunea globală:

%a - arhitectura sistemului de operare pe mașina client (valori posibile - Win95, Win NT, NECUNOSCUT etc.);

%m - numele NetBIOS al computerului client;

%L - numele NetBIOS al serverului SAMBA;

%v - versiunea SAMBA;

%I - adresa IP a computerului client;

%T - data si ora;

%u - numele utilizatorului care lucrează cu serviciul;

%H este directorul principal al utilizatorului %u.

De asemenea, pentru o configurație mai flexibilă, se folosește directiva include, folosind variabilele de mai sus. De exemplu: include = /etc/samba/smb.conf.%m - acum când solicitați vânzări de pe un computer și există un fișier /etc/samba/smb.conf.sales, configurația va fi preluată din acest fișier. Dacă nu există niciun fișier separat pentru o anumită mașină, atunci se folosește un fișier comun pentru a lucra cu acesta.

# sudo vim /etc/samba/sambacreds username=proft password=1 username=noboy password=

Setați drepturile de acces la 0600

Sudo chmod 0600 /etc/samba/sambacreds

Linie nouă de montare

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Și un exemplu pentru /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Puteți deschide resursa în managerul de fișiere Nautilus/Nemo/etc folosind această cale smb://192.268.24.101.

Dacă Nemo scrie Nemo nu poate gestiona locațiile „smb”.înseamnă că lipsește pachetul gvfs-smb.

Acces la server cu client Windows și Android

În Windows, puteți afla grupul de lucru din consolă folosind

Stație de lucru Net Config

Puteți deschide resurse pe o mașină la distanță tastând adresa UNC în linia Explorer sau în Run (Start - Run): \192.168.24.101 .

Pe Android vă puteți conecta la server folosind ES File Explorer, pe fila Rețea, adăugați un server, pur și simplu prin IP (fără a specifica schema, smb). După care puteți deschide resursele partajate. Pentru statistici: un film HDRIP rulează fără încetiniri.

Lectură suplimentară

Sau poate doar interesul și curiozitatea îi împing pe utilizatori să caute diverse software-uri potrivite. Samba este un astfel de software. Trebuie să știți cum să configurați Samba pe Ubuntu Server dacă doriți să vă transformați computerul într-o bază de date sau stocare de fișiere.

Instalarea Samba pe Ubuntu Server vă permite să creați o bază de date.

Dacă credeai că pagina este dedicată învățării dansului, te-ai înșelat ușor. Samba este un software gratuit. Oferă acces la imprimante și fișiere. Și face acest lucru pe diferite sisteme de operare.

Pentru ce este?

În comparație cu alte pachete software în scopuri similare, Samba are mai multe avantaje și caracteristici.

  • Vă permite să conectați un sistem asemănător Unix, adică orice sistem Linux și Windows, unul la celălalt. Și nu numai Windows. Programul este foarte „omnivor”: MacOS, Solaris și alte sisteme de operare cu diferite grade de popularitate.
  • Samba permite utilizatorilor Windows să utilizeze computerele Ubuntu ca server. Adică, utilizați fișierele la care a fost stabilit accesul, precum și unele dintre dispozitivele conectate.
  • Acceptă structura domeniului NT Domain, gestionează utilizatorii NT, acceptă funcțiile de membru și controler primar.

Probabil, pentru mulți, principalul lucru din aceasta este comunicarea cu mașinile Windows. În acest caz, aceștia acționează ca un client, iar computerul Ubuntu acționează ca un server. Pe de altă parte, un utilizator Ubuntu poate accesa și folderele de rețea Windows.


Samba este produsă din 1992. Și, cel mai important, sunt încă lansate versiuni noi. Acesta din urmă a fost lansat pe 7 martie 2017. În fiecare an, dezvoltatorii încearcă să stabilească compatibilitatea cu un număr mare de versiuni diferite de sisteme de operare, dar principala caracteristică rămâne conectarea sistemelor Linux cu Microsoft. În comparație cu Windows Server, Samba poate fi inferior acestuia din cauza lipsei de suport pentru unele protocoale și infrastructura gazdă. Cu toate acestea, mulți susțin că viteza Samba este mult mai mare.

Instalarea Samba

Înainte de configurare, programul trebuie instalat. Instalarea Samba se face în același mod ca și în cazul altor programe - prin introducerea comenzii în terminal:

sudo apt-get install samba


Vă rugăm să rețineți imediat: toți pașii care vor fi descriși, inclusiv instalarea programului, pot fi efectuate atât pe Ubuntu simplu, cât și pe Ubuntu Server. Doar acesta din urmă are disponibilă o interfață exclusiv text.

După instalare, ar trebui să faceți o copie de rezervă a fișierului de configurare:

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

Sau edităm unul existent. Acest fișier conține setările de bază ale serverului Samba. Pentru a ne da seama ce vom face în continuare, trebuie să înțelegem ce înseamnă diferitele linii.

  • Grup de lucru - grup de lucru. Valoarea acestui parametru va fi adesea Grup de lucru, deoarece în Windows domeniul implicit al grupului de lucru arată astfel.
  • Numele Netbios este numele computerului Ubuntu așa cum este văzut de utilizatorii Windows. Aici puteți introduce valoarea la discreția dvs.
  • Securitate - modul de autorizare a utilizatorului. Valoarea implicită este Utilizator, adică autentificarea la nivel de utilizator. Deocamdată, cel mai bine este să o lași așa.
  • Nivelul Os - indică prioritatea pe care o are Samba față de alți clienți (PC-uri) din rețeaua locală sau de Internet.
  • Ordinea de rezolvare a numelui - ordinea rezoluției adresei IP după numele NetBIOS.
  • Numai citire - privilegiul de a citi sau scrie un director. Valoarea poate fi „da” - numai citire, „nu” - scrieți.

Creați un utilizator

Aceasta este cea mai simplă acțiune cu care puteți începe să lucrați cu Samba.


Adăugați un utilizator în sistemul de operare în sine:

$ useradd -M -l -s /sbin/nologin nume de utilizator

Să creăm o parolă pentru el:

Să adăugăm utilizatorul nostru la baza de date Samba:

$ smbpasswd -un nume de utilizator


Puteți efectua diverse alte acțiuni folosind comanda $ smbpasswd:

  • $ smbpasswd nume de utilizator - schimba parola
  • $ smbpasswd -x username - ștergeți un utilizator
  • $ smbpasswd -d nume utilizator - ban utilizator

Serverul trebuie repornit dacă faceți modificări în fișierul de configurare. Acest lucru se face folosind comanda:

$ systemctl restart smb

Acestea sunt setările de bază ale Samba. Acum puteți încerca să puneți programul în practică.

Acces la foldere

Mai întâi, să încercăm să creăm un folder care să fie accesibil tuturor utilizatorilor, chiar și celor care nu sunt autorizați în Samba.

Creăm un folder cu care vom lucra apoi pe două computere:

$ sudo mkdir -p /samba/access

Acum facem acces extins pentru acest folder, astfel încât orice client de-al nostru să îl poată deschide retea locala:

$cd/samba
$ sudo chmod -R 0755 acces
$ sudo chown -R nobody:nogroup access/

Proprietarul conform codului nu este nimeni.


Acum, în fișierul de configurare a serverului, trebuie să faceți două secțiuni: prima care conține informații de bază:

Workgroup = WORKGROUP
șir de server = Server Samba %v
nume netbios = srvr1
securitate = utilizator
map to guest = utilizator prost
ordine de rezolvare a numelui = gazdă bcast
dns proxy = nr
#==============
Și al doilea, care conține date despre folderul de acces:

Cale = /samba/access
browsable =da
inscriptibil = da
invitat ok = da
numai citire = nu

Secțiunile urmează una după alta în aceeași ordine.

Actualizați modificările serverului:

$ sudo service smbd restart

Acțiuni cu un computer Windows

Pe Windows, trebuie să efectuați, de asemenea, câțiva pași, astfel încât să puteți deschide cu ușurință un nou folder partajat și să-l editați.

  1. Deschideți linia de comandă. Este recomandabil să faceți acest lucru cu drepturi extinse, adică ca administrator.
  2. Executăm comanda:
  3. notepad C:\Windows\System32\drivers\etc\hosts
  4. Se deschide un fișier în care introducem următoarea linie:
  5. 168.0.1 srvr1.domain.com srvr1
    Datorită acestuia, folderul va deveni accesibil.
  6. Îl puteți deschide folosind linia „Run”. Apăsați Win + R, enter: După aceasta, se va deschide un folder pentru noi.


Dosar închis

Un server Samba configurat poate fi folosit și pentru a crea foldere de rețea cu acces limitat. Un astfel de folder trebuie, de asemenea, creat mai întâi și apoi adăugat la configurația Samba.

Să facem un folder numit „Închis”:

$ sudo mkdir -p /samba/allaccess/closed

Să creăm un grup special care poate avea acces la acest folder:

$ sudo addgroup securedgroup

Creăm drepturi speciale pentru diferite grupuri:

$ cd /samba/access
$ sudo chown -R richard:securedgroup închis
$ sudo chmod -R 0770 închis/

La fel ca în cazul unui folder deschis, adăugăm informații la configurație:

Cale = /samba/access/closed
utilizatori validi = @securegroup
invitat ok = nu
inscriptibil = da
browsable = da

Repornim serverul.

După cum puteți înțelege, am creat un folder închis în interiorul Access. Astfel, Accesul poate fi deschis de către fiecare utilizator din rețeaua locală, dar pentru a vizualiza și edita Închis, trebuie să aveți drepturi speciale.

Pentru a vă asigura că totul funcționează exact așa cum am specificat în fișierul batch, puteți efectua câțiva pași simpli.

În zilele noastre, este destul de comun să găsiți computere care rulează Linux și Windows în aceeași rețea locală. Motivele acestei simbioze pot fi diferite: de exemplu, proprietarii unui Internet cafe nu aveau suficiente fonduri pentru a cumpăra un sistem de operare licențiat pentru toate computerele sau administrator de sistem Pur și simplu am fost atras de aspectele pozitive ale Linux. Popularitatea sistemelor de operare Microsoft este determinată în mare măsură de software-ul client pentru Windows. Nu este un secret pentru nimeni că acest sector de software este foarte dezvoltat. Multe companii au făcut eforturi serioase în acest sens și au creat programe foarte bune și, cel mai important, ușor de utilizat, pe care chiar și un utilizator obișnuit le poate stăpâni cu ușurință. Dar ca server, poziția Windows nu mai este atât de clară. Un server care rulează Unix este caracterizat în mod tradițional prin fiabilitate, funcționare stabilă, securitate și, adesea, cerințe mai mici pentru resursele sistemului. Dar, în orice caz, simpla conectare la rețea a computerelor cu platforme software diferite nu va obține rezultatul așteptat. Problema este că aceste două sisteme folosesc principii diferite pentru organizarea resurselor de rețea care sunt incompatibile între ele.
Deoarece nu este nevoie să așteptați mila Microsoft, iar Windows este puțin probabil să învețe să lucreze cu sistemul de fișiere de rețea Unix (NFS) mijloace standardși, să fiu sincer, nu cunosc niciun program terță parte, cel mai popular mod este să încerci să-l înveți pe Unix să „prefacă” că este Windows NT.

Interacțiunea într-o rețea de computere care rulează Windows se bazează pe utilizarea protocolului SMB (Server Message Block)— blocuri de mesaje de pe server. Se asigură că sunt îndeplinite toate sarcinile necesare în aceste cazuri: deschiderea și închiderea, citirea și scrierea, căutarea fișierelor, crearea și ștergerea directoarelor, setarea unei lucrări de imprimare și ștergerea acesteia de acolo. Toate acțiunile necesare pentru aceasta sunt implementate în sisteme de operare asemănătoare Unix folosind pachetul SAMBA. Capacitățile sale pot fi împărțite în două categorii: furnizarea de resurse (prin care înțelegem accesul la sistemul de imprimantă și la fișiere) pentru clienții Windows și accesul la resursele clientului. Adică, un computer care rulează Linux poate acționa atât ca server, cât și ca client. În primul rând, să luăm în considerare opțiunea de server SAMBA.

Ce ar trebui să ofere SAMBA pentru funcționarea normală a mașinilor Windows într-o rețea? În primul rând, controlul accesului, care poate fi implementat fie la nivel de resursă (nivel de partajare), atunci când o parolă și regulile de utilizare corespunzătoare sunt atribuite oricărei resurse din rețea (de exemplu, „numai citire”), în timp ce numele de utilizator are absolut nu nici un sens; sau o organizare mai avansată și mai flexibilă la nivel de utilizator, atunci când se creează un cont pentru fiecare utilizator, care, pe lângă nume și parolă, conține toate informațiile necesare despre drepturile de acces la resursă. Înainte de a obține acces la resursa necesară, fiecare utilizator este autentificat, după care i se acordă drepturi conform conturilor sale. În al doilea rând, este necesară emularea drepturilor de acces determinate de sistemul de fișiere. Chestia este că sistemele în cauză au drepturi de acces la fișiere și directoare de pe disc în mod diferit. În Unix, există în mod tradițional trei categorii de utilizatori de fișiere: proprietar, grupȘi restul (altul). Fiecare dintre aceste entități poate fi furnizată permisiuni de citire, scrieȘi execuţie. În Windows NT, sistemul de acces este ceva mai flexibil; accesul este acordat mai multor grupuri sau utilizatori, iar drepturile de acces corespunzătoare sunt determinate separat pentru fiecare subiect. Prin urmare, este imposibil să emulați pe deplin drepturile de acces inerente NTFS folosind SAMBA.

Cu clienții care rulează Windows 9x, situatia este alta. Încă de pe vremea bunicului DOS, datorită faptului că sistemul este monoutilizator și nu se putea vorbi de niciun utilizator, cu atât mai puțin de grupuri, pentru fișier sisteme FAT Sunt definite doar patru atribute − Numai citire, sistem, arhivă și ascuns. În plus, în Windows, spre deosebire de Unix, extensia de fișier are o semnificație specială - cele care sunt destinate a fi executate au extensiile .exe, .com sau .bat. Când copiați fișiere de pe mașinile Unix pe computerele Windows, atributele sunt setate astfel:

doar pentru lectură— citit, scris pentru proprietar;

de arhivă— executarea pentru proprietar;

sistemică— execuție pentru grup;

ascuns - execuție pentru grup.

O rețea de mașini Windows poate fi organizată ca un grup de lucru, atunci când calculatoarele sunt independente unele de altele și fiecare are propria sa bază de date de parole și autentificări cu propria politică de securitate, precum și ca un domeniu NT. Întreaga bază pentru autentificarea utilizatorului și a computerului este gestionată controler de domeniu primar (PDC, controler de domeniu primar), adică centralizat. Samba vă permite să restricționați accesul la toate aceste niveluri și acționează ca un „browser principal” în contextul unui grup de lucru sau controler de domeniu.

Am rezolvat problemele organizatorice generale. Să ne uităm acum în mod specific la implementarea și configurarea unui server SAMBA în Linux. Pentru ca serverul Samba să funcționeze, trebuie să ruleze doi demoni: smbd, care oferă un serviciu de imprimare și partajare de fișiere pentru clienții Samba (cum ar fi Windows of all stripes) și nmbd, care alimentează serviciul de nume NetBIOS (poate fi folosit și pentru a interoga alte daemoni de servicii de nume). Protocolul este folosit pentru a accesa clienții TCP/IP. De obicei, Samba este instalat cu o distribuție Linux. Cum se verifică? Doar da comanda:

$unde este samba

și ar trebui să obțineți ceva de genul acesta:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Dacă nu este inclus în distribuția standard, atunci bine ați venit la ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz sau aproape orice server cu programe pentru Linux. Pachetul este ușor de instalat, așa că pentru a nu ocupa spațiu, vom presupune că îl aveți instalat. Acum să verificăm dacă demonul rulează:

$ ps -aux | grep smbd root 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

După cum puteți vedea, îl am deja în funcțiune. Dacă nu îl aveți și doriți să pornească atunci când sistemul pornește, atunci în Linux Mandrake, de exemplu, bifați caseta dorită în DrakConfpornirea serviciilor sau în Panoul de control Red HatConfigurare serviciu, de obicei acest lucru este suficient. Sau începeți manual: ./etc/rc.d/init.d/smb start. Singurul fișier de configurare Samba se numește smb.conf și se află de obicei în directorul /etc (deși în AltLinux, de exemplu, se află în directorul /etc/samba). Serviciul SAMBA îl citește la fiecare 60 de secunde, așa că modificările aduse configurației intră în vigoare fără repornire, dar nu se aplică conexiunilor deja stabilite.

De aceea iubesc Linux, deoarece fișierele de configurare sunt text simplu (și bine comentate în interior), iar pentru a folosi majoritatea parametrilor, trebuie doar să decomentezi linia corespunzătoare. Fișierul smb.conf nu face excepție. Este format din secțiuni denumite care încep cu numele secțiunii cuprins între paranteze drepte. În interiorul fiecărei secțiuni există un număr de parametri sub forma cheie=valoare. Fișierul de configurare conține patru secțiuni speciale: , și resurse individuale (partări). După cum sugerează și numele, secțiunea conține cele mai generale caracteristici care se vor aplica peste tot, dar care, totuși, pot fi apoi înlocuite în secțiuni pentru resurse individuale. Unii parametri din această secțiune sunt relevanți și pentru configurarea părții client Samba.

Valorile parametrilor tipici de secțiune global:

Workgroup = group_name # numele grupului de lucru din rețeaua Windows netbios name = numele serverului de pe serverul de rețea șir = comentariu care este vizibil în fereastra proprietăților de navigare în rețea guest ok = yes # permitând autentificarea invitatului (guest ok = nu - invitat autentificarea este interzisă) cont invitat = nimeni # nume sub care este permisă autentificarea oaspetelui securitate = utilizator # Nivel de acces. utilizator - la nivel de utilizator, securitate = share - autentificare bazată pe nume de utilizator și parolă. La stocarea bazei de date de parole pe un alt server SMB, se folosesc valorile security = server și parola server = name_server_NT. Dacă serverul este membru al unui domeniu, se folosește valoarea security = domain, parola de acces este specificată în fișierul definit folosind opțiunea smb passwd file = /path/to/file.

În plus, în timpul înregistrării puteți utiliza parole criptate și necriptate (text simplu).. Acestea din urmă sunt utilizate în Windows mai vechi (Windows for Workgroups, Windows 95 (OSR2), toate versiunile de Windows NT 3.x, Windows NT 4 (până la Service Pack 3)). Pentru a activa opțiunea de utilizare a unei parole criptate, utilizați opțiunea criptare parolă = da. Vă rugăm să acordați o atenție deosebită acestei opțiuni. În distribuțiile mai vechi Linux care au fost create în timpul erei Windows 95 (și mai departe), versiune veche Samba) criptarea parolei este dezactivată în mod prestabilit, iar samba este de până la versiunea 2.0 nu suportă deloc acest mod (apropo, această opțiune și altele similare - cele care nu au legătură cu accesul la resurse specifice - sunt și ele utilizate în client).

Pentru a afișa corect numele fișierelor rusești, sunt necesare următoarele opțiuni: pagina de cod client = 866 și set de caractere = koi8-r. În distribuțiile cu localizare bună, de exemplu, derivate din Mandrake și cele rusești, această linie este deja acolo; uneori este suficient doar să o decomentați, dar în majoritatea celorlalte trebuie să o adăugați singur.

Opțiunea interfețe = 192.168.0.1/24 specifică pe ce rețea (interfață) ar trebui să ruleze programul dacă serverul este conectat la mai multe rețele simultan. Când setați parametrul de conectare numai interfețe = da, serverul va răspunde numai la solicitările din aceste rețele.

gazdele permit = 192.168.1. 192.168.2. 127. — definește clienții cărora le este permis accesul la serviciu.

În secțiunea globală, puteți utiliza diverse variabile pentru o configurare mai flexibilă a serverului. După stabilirea conexiunii, valorile reale sunt înlocuite. De exemplu, în directiva fișier jurnal = /var/log/samba/%m.log, parametrul %m ajută la definirea unui fișier jurnal separat pentru fiecare computer client. Iată cele mai frecvente variabile utilizate în secțiunea globală:

%a - arhitectura sistemului de operare pe mașina client (valori posibile - Win95, Win NT, NECUNOSCUT etc.);

%m — numele NetBIOS al computerului client;

%L — numele NetBIOS al serverului SAMBA;

%v — versiunea SAMBA;

%I — adresa IP a computerului client;

%T — data și ora;

%u este numele utilizatorului care lucrează cu serviciul;

%H este directorul principal al utilizatorului %u.

De asemenea, pentru o configurație mai flexibilă, se folosește directiva include, folosind variabilele de mai sus. De exemplu: include = /etc/samba/smb.conf.%m - acum când solicitați vânzări de pe un computer și există un fișier /etc/samba/smb.conf.sales, configurația va fi preluată din acest fișier. Dacă nu există niciun fișier separat pentru o anumită mașină, atunci se folosește un fișier comun pentru a lucra cu acesta.

Există și o posibilitate interesantă creare server virtual . Pentru a face acest lucru, utilizați parametrul alias netbios:

Alias ​​Netbios = administrator de contabilitate vânzări

Acum îi spunem lui Samba să folosească propriul fișier de configurare pentru fiecare server virtual:

Include = /etc/samba/smb.conf.%L

Trei servere vor fi vizibile în fereastra browserului de rețea: vânzări, contabilitate, admin.

Activarea opțiunilor de păstrare a majusculelor și a majusculelor scurte determină serverul să salveze toate intrările într-o manieră sensibilă la majuscule (pe Windows, majuscule și minuscule nu sunt sensibile la majuscule, pe toate sistemele Unix, este invers).

Secțiunea permite utilizatorilor să se conecteze la directoarele lor de lucru fără a le descrie în mod explicit. Când un client solicită directorul său //sambaserver/sergej, mașina caută descrierea corespunzătoare în fișier și, dacă nu o găsește, caută prezența acestei secțiuni. Dacă partiția există, ea caută prin fișierul de parolă pentru a găsi directorul de lucru al utilizatorului care face cererea și, dacă este găsită, îl pune la dispoziția utilizatorului.

O descriere tipică a acestei secțiuni arată astfel:

Comentariu = Directoare de start # comentariu care este vizibil în fereastra proprietăților rețelei navigabil = nu # determină dacă se afișează resursa în lista de navigare. inscriptibil = da # permite (nu - refuză) scrierea în directorul principal modul de creare = 0750 # drepturi de acces pentru fișierele nou create modul director = 0775 # de asemenea, dar numai pentru directoare

După configurarea setărilor implicite, puteți crea resurse de rețea care pot fi accesate de un anumit utilizator sau grup de utilizatori. O astfel de resursă este creată dintr-un director deja existent; pentru aceasta scriem în fișier:

Comentariu = Cale pentru Lucruri publice = /home/samba public = da scris = nu imprimabil = fără lista de scriere = administrator, @sales

Parametrul cale indică directorul în care se află resursa; parametrul public specifică dacă resursa poate fi utilizată de un oaspete, iar parametrul imprimabil specifică dacă resursa poate fi utilizată pentru imprimare. Parametrul listei de scriere vă permite să definiți utilizatorii cărora li se permite să scrie într-o resursă, indiferent de valoarea care poate fi scrisă (în acest exemplu, aceștia sunt utilizatorul administrator și grupul de vânzări). De asemenea, este posibil să utilizați lista opusă - lista de citire. Dacă este nevoie să ascundeți unele fișiere, atunci în Unix/Linux numele fișierului trebuie să înceapă cu un punct (parametrul ascunde fișierele punct, care controlează afișarea fișiere ascunse, implicit la da). În plus, este posibil să se specifice șabloane pentru numele fișierelor ascunse, pentru care este utilizat parametrul ascunde fișierele. Fiecare model începe și se termină cu o bară oblică (/) și poate conține caractere utilizate în expresii obisnuite. De exemplu: ascunde fișierele = /*.log/??.tmp/. Astfel de trucuri îi costă pe utilizatorii Windows doar prin setarea modului „Afișează fișierele ascunse și de sistem” în Explorer. Pentru a limita cu încredere disponibilitatea (capacitatea de a șterge) un fișier (director), utilizați fișierele veto și ștergeți parametrii fișierelor veto.

Cu unitățile CD situația este ceva mai complicată. Chestia este că în sistemele de tip Unix nu există conceptul de disc ca atare și, pentru a avea acces la dispozitivul dorit, acesta trebuie mai întâi montat într-un arbore de directoare (# mount -t iso9660 /dev/cdrom / mnt/cdrom) , iar după utilizare, pentru a nu distruge Sistemul de fișiere, trebuie demontat (# umount /dev/cdrom), altfel dispozitivul pur și simplu nu va renunța la disc. Dacă aveți un daemon care rulează pe serverul dvs autofs, atunci problema este ușor de rezolvat. Pentru a demonta automat un dispozitiv care a fost nefolosit de ceva timp, setați parametrul timeout din fișierul /etc/auto.master la valoarea dorită. De exemplu:

/mnt/auto/etc/ --timeout=5

(o linie similară există deja, trebuie doar să o decomentezi). Apoi setați opțiunile pentru dispozitivul corespunzător în fișierul /etc/auto.tab:

Cdrom -fstype=auto,ro:/dev/cdrom

După toate acestea, scriem următoarele rânduri în /etc/smb.conf pentru a face această resursă disponibilă:

Cale = /mnt/cdrom scriere = nr

A doua opțiune este folosirea directivelor preexec și postexec, care indică ce comenzi trebuie executate la accesarea unei resurse și după deconectarea de la aceasta (acești parametri pot fi specificați pentru orice resursă și chiar în secțiunea globală, ceea ce deschide posibilități mari) .

Cale = /mnt/cdrom numai citire = da root preexec = mount /mnt/cdrom # Doar root are dreptul de a monta o resursă root postexec = umount /mnt/cdrom # Desigur, aceste puncte de montare trebuie descrise în /etc/ fstab, în ​​caz contrar, trebuie să furnizați și alte informații.

Acum, atunci când accesați o resursă, CD-ROM-ul este montat automat și uneori demontat. Întreaga problemă este că decizia de a închide o resursă trebuie luată de server - clienții, de regulă, nu notifică acest lucru. Dar, de obicei, acest lucru se întâmplă deoarece resursa este utilizată de mai mulți utilizatori în același timp sau este lăsată pe un computer deschide fișierul pe această resursă (Dispozitiv ocupat). Prin urmare, CD-ROM-ul nu este demontat automat; singura modalitate acceptabilă de a elibera resursa este să căutați folosind utilitarul smbstatus numărul procesului care utilizează această resursă și omorâți-l cu comanda # kill pid_number (sau kill -s HUP pid_number).

După ce am stabilit configurația necesară, vom crea acum conturi de utilizator (cu excepția autentificarii invitaților cu drepturi minime nimeni). Pentru a identifica utilizatorii SAMBA se folosește fișierul /etc/samba/smbpasswd, care conține nume de utilizator și parole criptate. Deoarece mecanismul de criptare din rețelele de mașini Windows nu este compatibil cu mecanismele standard Unix, este utilizat un utilitar separat pentru a completa fișierul cu parole - smbpasswd.

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

Acest exemplu adaugă un utilizator nou sergej aparținând grupului vânzări, cu un shell dummy (opțiunile posibile sunt /sbin/nologin, /dev/null) și un director principal /home/samba/sergej. Apoi creăm o parolă pentru utilizatorul sergej și ultimul pas este să permitem accesul utilizatorului, deoarece este dezactivat implicit. Un punct interesant care poate fi uneori confuz. Faptul este că atunci când se conectează la un server SAMBA pe un computer cu Windows NT/2000, utilizatorului i se solicită să introducă, așa cum era de așteptat, un login și o parolă, iar dacă pentru acces se folosește un computer cu Windows 9x/Me, atunci utilizatorului i se solicită să introducă doar parola, iar autentificarea este generată automat pe baza numelui de înregistrare.

De asemenea, puteți mapa mai mulți utilizatori Windows către un singur utilizator Linux/Unix. Pentru a face acest lucru, este creat un fișier de mapare /etc/smbusers.map, în care fiecare mapare este specificată ca o linie separată:

User_Linux = user_win1 user_win2 user_winN

În secțiune, adăugați linia nume de utilizator map = /etc/smbusers.map. În acest caz, utilizatorul Windows trebuie să se înregistreze cu parola utilizatorului cu care este asociat.

Folosind SAMBA, puteți organiza imprimarea în rețea de pe computere care rulează Windows (dacă planificați un server de imprimare separat, atunci o mașină bazată pe un procesor 486 este suficientă pentru aceasta).

Pentru a face acest lucru, trebuie să scrieți următoarele rânduri în secțiune:

Printcap nume = /etc/printcap # fișier care descrie imprimantele conectate la sistem încărcare imprimante = da # indică necesitatea includerii automate în lista resurselor de rețea printing = lprng # sistem de imprimare (pentru Linux poate fi folosit și bsd).

Calea = /var/spool/samba # indică directorul în care sunt plasate lucrările de imprimare navigabil = da imprimabil = da numai citire = da

După crearea fișierului, testați-l folosind utilitarul testparm. Din păcate, utilizând acest program puteți detecta doar erori de sintaxă, nu și cele logice, deci nu există nicio garanție că serviciile descrise în fișier vor funcționa corect (în timpul testării vor fi afișate toate setările, chiar și cele instalate implicit - deci revizuiți cu atenție rezultat). Dar dacă programul nu se plânge, puteți spera că fișierul va fi descărcat fără probleme la lansare. Corectitudine funcţionarea imprimantei listate în fișierul /etc/printcap pe serverul SAMBA pot fi verificate folosind utilitarul testprns. În plus, nu uitați de fișierele .log: dacă apar probleme, uneori puteți găsi o soluție acolo.

Acum puțin despre lucrurile bune. Configurarea Samba este destul de complexă, dar distribuția vine cu un instrument de administrare bazat pe Web numit bate(Instrument de administrare web Samba, ). Swat este lansat ca serviciu sau folosind server Apacheși este destinat pentru editarea fișierului smb.conf, precum și pentru verificarea stării, pornirea și oprirea demonilor Samba și schimbarea parolelor utilizatorului. Pentru ca acesta să funcționeze ca un serviciu, fișierul /etc/services trebuie să conțină linia swat 901/tcp, iar fișierul /etc/inetd.conf trebuie să conțină fluxul swat tcp nowait.400 root /usr/local/samba/bin/ swat swat (asta dacă este folosit demonul de rețea inetd, de obicei în distribuții mai vechi; distribuțiile moderne folosesc o opțiune mai sigură - xinetd). Pentru a utiliza swat în directorul /etc/xinet.d, creați un fișier swat cu următorul conținut:

Service swat ( disable = no port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # aceasta este o linie de rulat numai de la mașină locală utilizator = server rădăcină = /usr/sbin/swat log_on_failure += USERID )

Acum, pentru a lansa Swat în fereastra browserului, introduceți:

Http://localhost:901

Dar înainte de asta, asigurați-vă că ați creat un utilizator adminîn modul descris mai sus. Și nu rulați niciodată serviciul SAMBA în numele rădăcină.

După toate modificările aduse fișierului smb.conf, uneori va trebui să reporniți demonul:

Smb: /etc/rc.d/init.d/smb restart

Dacă după toți pașii de mai sus nu a fost încă posibil să se organizeze accesul la resursele SAMBA, atunci utilități precum ping(pentru a verifica disponibilitatea unui nod în rețea), nmblookup(pentru a interoga numele NetBIOS) sau ca ultimă soluție tcpdump. Și nu uitați de drepturile de acces, deoarece atribuind directorul /gde/to/w/glubine utilizatorului, îi veți oferi posibilitatea de a citi (executa corect) directoarele anterioare.

Acum să vorbim despre utilizarea clientului Samba, deoarece noi ( utilizatorii Linux) De asemenea, vreau să lucrez cu resursele de rețea Windows. Pentru a afla ce resurse sunt disponibile, trebuie să introduceți comanda /usr/bin/smbclient -L host_name. Programul va cere o parolă, ca răspuns la care în majoritatea cazurilor trebuie doar să apăsați Enter. Acum, pentru a vă conecta la resursa necesară, introduceți numele computerului și resursa necesară. De exemplu:

# /usr/bin/smbclient \\Alex\Sound

(aici încercăm să ne conectăm la folderul Sound de pe computerul lui Alex). Ca rezultat, dacă comanda a fost introdusă corect și resursa de rețea există, ar trebui să vi se solicite să introduceți o parolă. Introduceți-l sau apăsați Enter dacă nu este necesară o parolă pentru acces. Ca răspuns, veți primi un prompt client samba: smb: >. Lucrările ulterioare au loc printr-un set de comenzi, cu ajutorul cărora puteți efectua toate operațiunile necesare pentru lucrul cu fișierele (copiere, creare, mutare etc.). Pentru ajutor, introduceți smb: > ajutor. Acest mod este oarecum incomod, așa că în majoritatea cazurilor se folosește modulul smbfs, parte din samba; dar în distribuțiile mai vechi, nucleul poate fi compilat fără suport smbfs și apoi va trebui reconstruit. Pentru a monta resursa necesară, tastați ceva de genul acesta:

Mount -t smbfs -o username=user,password=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

Dacă nu specificați un nume de utilizator și o parolă, sistemul vă va cere. Nu uitați că, privind fișierul ~HOME/.bash_history, puteți afla parola pe baza comenzilor pe care le-ați tastat. O altă subtilitate: dacă programul smbclient afișează corect fișiere cu nume rusești, atunci modulul smbfs uneori nu acordă absolut nicio atenție altor codificări, chiar dacă o specificați în mod explicit. Se spune că acest lucru poate fi rezolvat cu un patch, dar încă nu am găsit unul pentru Red Hat.

Dacă doriți ca partajarea SMB să fie montată automat la pornirea sistemului, adăugați o linie ca aceasta în fișierul dvs. /etc/fstab:

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

În acest exemplu, în numele utilizatorului oaspete(dacă resursa acceptă acest utilizator și dacă acest utilizator are acces doar cu o parolă, atunci nu vă faceți griji: cu siguranță vi se va cere) resursa de rețea de sunet de pe computerul alex este montată în folderul /mnt/alex/sound cu capacitatea de a scrie în acest director. Apropo, clientul Samba vede perfect resursele de rețea ascunse, adică. cei al căror nume de rețea se termină cu semnul $.

După cum puteți vedea, trebuie să lucrați cu linia de comandă, ceea ce provoacă groază liniștită pentru utilizatorul modern. Și aici lumea OpenSource l-a întâlnit la jumătatea drumului - au fost create multe utilități care vă permit să lucrați cu resursele Samba într-un mod mai familiar, prin apăsarea butoanelor din shell-uri grafice. Cel mai popular program inclus în distribuția Mandrake și derivatele sale, precum și Debian - gnomba. În orice caz, poate fi găsit pe majoritatea serverelor cu software Linux (l-am văzut pe ftp://ftp.altlinux.ru/ cu siguranță). Acest utilitar vă permite să vizualizați resursele de rețea disponibile () și, dacă este necesar, să le montați în directorul dorit, în timp ce o opțiune de montare este posibilă prin specificarea numelui de autentificare și a parolei pentru acele resurse care o necesită. Lansare posibilă manager de fișiere când este montat (implicit gmc), crearea de directoare pentru resursele montate, setarea opțiunii de scanare automată la pornirea programului (posibil folosind protocolul SMB implicit) și scanarea după adrese IP (planificată folosind protocolul WINS). Din motive necunoscute pentru mine, în unele distribuții, la scanarea folosind protocolul SMB, resursele de rețea nu erau afișate, așa că folosesc întotdeauna a doua metodă, deoarece funcționează impecabil, trebuie doar să setați intervalul de adrese IP pentru scanare (dacă ştii). Pentru ca numele fișierelor rusești să fie afișate corect, nu uitați să instalați fonturile koi8-r în filă Opțiuni > Selectare font, și, de asemenea, verificați liniile care indică codificarea chirilică din fișierul smb.conf (vezi mai sus).

Dacă gnomba poate monta și demonta doar resurse, atunci programul xsmbrowser De asemenea, vă permite să le introduceți ca foldere pe computerul local (). Adevărat, nu am reușit încă să fac acest program să înțeleagă fișierele cu nume rusești, dar există și aspecte pozitive: atunci când acest program rulează, toate comenzile de montare și diverse solicitări de rețea sunt trimise în consolă, ceea ce vă permite să înțelegeți le bine. Dezvoltatorii KDE au încercat și: prin Preferințe > Informații utilitate disponibila Stare Samba, afișând toate conexiunile către/de la calculator local, care este, de asemenea, un instrument convenabil pentru vizualizarea fișierelor .log. Utilitarul oferă informații similare komba, care poate fi găsit la http://linux.tucows.com/().

Oricât de mult aș vrea să vă spun mai multe, o revistă este o revistă - nu puteți încadra totul. În continuare, om omniprezent și informațiile vă vor veni în ajutor. De asemenea, toate informațiile de referință necesare pot fi obținute din utilitarul SWAT, iar în Red Hat 7.3 exista o carte Using Samba Robert "a Eckstein" a(Limba engleză - rău, complet gratuit - bine: /usr/share/swat/using_samba), disponibil și de la SWAT (). Documentație suplimentară, întrebări frecvente și exemple de fișiere de configurare pot fi găsite în directorul /usr/share/doc/samba. Pe diverse forumuri puteți găsi păreri destul de contradictorii despre munca lui Samba, de la extrem de negative la încântare deplină. Personal, sunt de partea celor care susțin asta. Emulator Windows NT, în plus, conform rezultatelor testelor cu același echipament, serverul Samba arată performanțe cu aproximativ 25-30% mai mari decât un computer care rulează un sistem de la Microsoft. Noroc.

Uneori trebuie să configurați foarte rapid o partajare de fișiere pe server și să deschideți accesul la acesta. În acest caz, nu este nevoie să îngrădiți în configurații complexe, drepturi de acces sau orice altceva. Ai nevoie doar de acces rapid la informații, fără întrebări inutile.

De exemplu, recent am avut nevoie de așa ceva pentru a deschide accesul copii de rezervă, care au fost stocate pe server. Nu am vrut să-mi dau seama și să caut eu însumi informații; trebuia să ofer rapid persoanei care citește, astfel încât să poată găsi tot ce are nevoie.

Nu mă voi ocupa în mod specific de versiunile sistemului de operare. Configurațiile lui Samba sunt aceleași aproape oriunde am lucrat cu ele, mai ales în cele mai simple configurații.

Deci, instalați samba cu oricare într-un mod adecvat pentru tine sistem de operare. Configurațiile sunt valabile pentru versiunea 3 de samba. Apoi decidem de ce avem nevoie:

  • acces prin utilizator și parolă,
  • acces prin adresa IP,
  • accesul tuturor fără restricții.

În funcție de aceasta, setările vor fi ușor diferite.

Pentru acces prin parolă desenați următoarea configurație:

Securitate = utilizator passdb backend = tdbsam workgroup = MYGROUP șir server = cale Samba = /mnt/shara utilizatori validi = @users forța grup = utilizatorii creează mască = 0660 director masca = 0771 scriere = yes browseable = yes

# useradd share-user -M -G utilizatori -s /sbin/nologin

Importăm acest utilizator în Samba și setăm parola:

# smbpasswd -un utilizator partajat

Și încercăm să mergem la bal la adresa:

\\server ip\share

A organiza acces in functie de adresa ip, faceți următoarele setări în smb.conf:

Securitate = partajare grup de lucru = șir de server MYGROUP = Hartă Samba către oaspete = cale de utilizator greșită = /mnt/files browsable = yes writable = da guest ok = yes read only = nu gazde permit = 192.168.0.171

În acest caz acces complet va fi la adresa 192.168.0.171. Pentru a adăuga întreaga subrețea, trebuie să specificați următoarele:

Gazdele permit = 192.168.0.

Puteți combina diferite subrețele și adrese, separându-le cu spații. Pentru a dezactiva accesul la unele adrese individuale dintr-o subrețea permisă, puteți face acest lucru:

Gazdele permit = 192.168.0. cu excepția 192.168.0.15

Accesul va fi permis la întreaga subrețea 192.168.0.0/24, cu excepția adresei 192.168.0.15.

Repornim samba și verificăm.

Dacă aveți samba 4 instalat, atunci această configurație nu va funcționa și veți primi o eroare:

AVERTISMENT: Se ignoră valoarea nevalidă „share" for parameter "security" !}

Pentru ca accesul IP să funcționeze corect, trebuie să faceți următoarele modificări la configurația de mai sus:

Securitate = harta utilizatorului către oaspete = Parolă greșită

Lăsați restul parametrilor la fel. După aceasta, accesul prin IP va funcționa pe versiunea 4 a Samba.

Dacă accesul va fi oferit tuturor fără restricții, atunci cea mai simplă configurație de samba va fi astfel:

Securitate = grup de lucru utilizator = șir de server MYGROUP = cont de oaspeți Samba = nimeni mapat la oaspete = Cale utilizator greșită = /mnt/files browseable = Da invitat ok = Da scris = Da public = da

Nu uitați să acordați tuturor drepturi asupra folderului:

# chmod 0777 /mnt/files

Reporniți Samba și încercați să vă conectați. Ar trebui să te lase să intri fără întrebări.

Acesta este modul în care puteți organiza un simplu server de fișiere folosind samba în literalmente 5 minute. Și adesea este mai dificil și nu este necesar. Pentru un fel de dump de fișiere, cea mai recentă opțiune este potrivită.

Pentru configurații mai complexe am articole separate:

Curs online despre Linux

Dacă doriți să învățați cum să construiți și să întrețineți sisteme foarte disponibile și fiabile, vă recomand să vă familiarizați cu curs online „Administrator Linux”în OTUS. Cursul nu este pentru începători; pentru admitere aveți nevoie de cunoștințe de bază despre rețele și Instalare Linux la mașina virtuală. Formarea durează 5 luni, după care absolvenții de curs de succes vor putea susține interviuri cu partenerii. Ce vă va oferi acest curs:
  • Cunoașterea arhitecturii Linux.
  • Dezvoltare metode moderneși instrumente de analiză și procesare a datelor.
  • Abilitatea de a selecta o configurație pentru sarcinile necesare, de a gestiona procesele și de a asigura securitatea sistemului.
  • Cunoașterea instrumentelor de lucru de bază ale unui administrator de sistem.
  • Înțelegerea specificului implementării, configurării și întreținerii rețelelor construite pe Linux.
  • Capacitatea de a rezolva rapid problemele emergente și de a asigura funcționarea stabilă și neîntreruptă a sistemului.
Testează-te la testul de admitere și vezi programul pentru mai multe detalii.


Top