În acest tutorial, vom învăța cum să instalați și să configurați un server Samba pe Ubuntu pentru a partaja fișiere în rețeaua locală. Samba este o implementare gratuită și open-source a protocolului SMB/CIFS pentru Unix și Linux, care permite partajarea fișierelor și imprimării între mașinile Unix/Linux, Windows și macOS într-o rețea locală.

Samba este de obicei instalat și rulat pe Linux., Acesta cuprinde mai multe programe care servesc scopuri diferite, dar conexe, dintre care cele mai importante două sunt:

  • smbd: oferă servicii SMB/CIFS (partajare de fișiere și imprimare), poate acționa, de asemenea, ca un controler de domeniu Windows.
  • nmbd: acest demon oferă servicii de nume NetBIOS, ascultă cererile de nume-server. De asemenea, permite serverului Samba să fie găsit de alte computere din rețea.

cum se instalează serverul Samba pe Ubuntu

Samba este inclus în majoritatea distribuțiilor Linux. Pentru a instala Samba pe Ubuntu, pur și simplu executați următoarea comandă în terminal.,

sudo apt install samba samba-common-bin

cea mai recentă versiune stabilă disponibilă este 4.12.0, lansată pe 03 Martie 2019. Pentru a verifica Samba versiune, run

smbd --version

Exemplu de ieșire:

Version 4.7.6-Ubuntu

Pentru a verifica dacă Samba serviciul este pornit, emite următoarea comandă.

systemctl status smbd nmbd

Pentru a începe aceste două servicii, emite următoarea comandă:

sudo systemctl start smbd nmbd

Odată ce a început, smbd i va asculta pe portul TCP 139 și 445. nmbd va asculta pe porturile UDP 137 și 138.,

  • TCP 139: folosit pentru partajarea de fișiere și imprimante și alte operații.
  • TCP 445: portul CIFS fără NetBIOS.
  • UDP 137: folosit pentru navigarea în rețea NetBIOS.
  • UDP 138: folosit pentru serviciul de nume NetBIOS.dacă ați activat firewall-ul UFW pe Ubuntu, atunci trebuie să deschideți porturile de mai sus din firewall cu următoarea comandă.

    sudo ufw allow samba

    de a Crea un Privat Samba Share

    În această secțiune, vom vedea cum de a crea un privat partajarea Samba, care solicită clientului să introduceți numele de utilizator și parola pentru a avea acces., Fișierul principal de configurare Samba este localizat la: /etc/samba/smb.conf. Puteți să-l editați în terminal cu un editor de text de linie de comandă ca nano.

    sudo nano /etc/samba/smb.conf

    În secțiune, asigurați-vă că valoarea de workgroup este același lucru cu setările de grup de lucru de computere Windows.,

    workgroup = WORKGROUP

    puteți găsi setarea de pe computerul Windows de gând să Control Panel > System and Security > System.

    apoi derulați în jos în partea de jos a fișierului. (În editorul de text nano, puteți obține acest lucru apăsând CTRL+Wapoi CTRL+V. ) Adăugați o nouă secțiune ca mai jos.,

    explicație:

    • Private este numele folderului care va fi afișat în rețeaua Windows.
    • comentariul este o descriere pentru folderul partajat.
    • parametrul path specifică calea către folderul partajat. Eu folosesc /srv/samba/private/ ca exemplu. Puteți utiliza, de asemenea, un dosar în directorul de acasă.
    • browseable = yes: permite altor computere din rețea să vadă serverul Samba și să partajeze Samba., Dacă este setat la Nu, utilizatorii trebuie să cunoască numele serverului Samba și apoi să introducă manual o cale în managerul de fișiere pentru a accesa folderul partajat.
    • guest ok = no: dezactivați accesul oaspeților. Cu alte cuvinte, trebuie să introduceți numele de utilizator și parola pe computerul client pentru a accesa folderul partajat.
    • writable = yes: acordă atât permisiunea de citire și scriere clienților.
    • valid users = @samba: numai utilizatorii din grupul samba au voie să acceseze această partajare Samba.

    Salvați și închideți fișierul., (Pentru a salva fișierul în editorul de text nano, apăsați Ctrl+O, apoi apăsați Enter pentru a confirma numele fișierului de scris. Pentru a închide fișierul, apăsați Ctrl+X.) Acum trebuie să creăm un utilizator Samba. În primul rând, trebuie să creăm un cont de utilizator Linux standard cu următoarea comandă. Înlocuiți username cu numele de utilizator dorit.

    sudo adduser username

    vi se va solicita să setați o parolă Unix., După aceea, trebuie să setați și o parolă Samba separată pentru noul utilizator cu următoarea comandă:

    sudo smbpasswd -a username

    creați grupul samba.

    sudo groupadd samba

    și adăugați acest utilizator la grupul samba.

    sudo gpasswd -a username samba

    creați folderul privat de partajare.

    sudo mkdir -p /srv/samba/private/

    grupul samba trebuie să aibă permisiunea de citire, scriere și executare în folderul partajat. Puteți acorda aceste permisiuni executând următoarea comandă., (Dacă sistemul dumneavoastră nu are setfacl comandă, aveți nevoie pentru a instala acl pachet cu sudo apt install acl.)

    sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/

    apoi, executați următoarea comandă pentru a verifica dacă există erori sintactice.

    testparm

    Acum tot ce rămâne de făcut este să reporniți smbd și nmbd daemon.,

    sudo systemctl restart smbd nmbd

    cum se creează o partajare publică Samba fără autentificare

    pentru a crea o partajare publică fără a necesita nume de utilizator și parolă, trebuie îndeplinite următoarele condiții.

    • Set security = user în secțiunea globală a fișierului de configurare Samba. Deși puteți crea o partajare publică cu modul security = share, dar acest mod de securitate este învechit. Se recomandă insistent să evitați modul share.
    • Set map to guest = bad user în secțiunea globală a fișierului de configurare Samba., Acest lucru va determina smbd să utilizeze un cont de invitat pentru a autentifica clienții care nu au un cont înregistrat pe serverul Samba. Deoarece este un cont de oaspeți, clienții Samba nu trebuie să introducă parola.
    • setați guest ok = yes în definiția partajării pentru a permite accesul oaspeților.
    • acordați permisiunea de citire, scriere și executare a folderului public în contulnobody, care este contul implicit pentru oaspeți.de fapt, primele două condiții sunt deja îndeplinite, deoarece Samba utilizează implicit aceste două setări.,

      Iată un ghid pas cu pas pentru a crea o partajare publică. Mai întâi, deschideți și editați fișierul de configurare Samba.

      sudo nano /etc/samba/smb.conf

      În secțiune, asigurați-vă că valoarea de workgroup este același lucru cu setările de grup de lucru de computere Windows.

      workgroup = WORKGROUP

      puteți găsi setarea de pe computerul Windows de gând să Control Panel > System and Security > System.,

      apoi derulați în jos în partea de jos a fișierului și lipiți următoarele linii.

      Salvați și închideți fișierul. Apoi, creați folderul /srv/samba/public/.

      sudo mkdir -p /srv/samba/public

      Apoi asigurați-vă că nobody cont a citi, scrie și executa permisiunea la folderul public executând următoarea comandă. (Dacă sistemul dumneavoastră nu are setfacl comandă, aveți nevoie pentru a instala acl pachet cu sudo apt install acl.,)

      sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/

      reporniți smbd și nmbd.

      sudo systemctl restart smbd nmbd

      Accesarea Samba Shared Folder Din Windows

      Pe un computer cu Windows, care este în aceeași rețea, deschideți File Explorer și faceți clic pe Network de pe panoul din stânga. Dacă vedeți următorul mesaj, trebuie să faceți clic pe mesaj și să activați descoperirea rețelei și partajarea fișierelor.

      File sharing is turned off. Some network computers and devices might not be visible.

      apoi, introduceți \\ urmat de adresa IP a serverului Samba în bara de adrese a File Explorer, astfel: \\192.168.0.102., Veți vedea o listă de resurse partajate pe serverul Samba.

      apoi faceți dublu clic pe folderul partajat. Pentru a accesa cota privată, trebuie să introduceți numele de utilizator și parola samba. Nu trebuie să faceți acest lucru pentru a accesa cota publică.

      Odată conectat, puteți citi, scrie și șterge fișiere în folderul partajat Samba.

      eroare de conectare

      Dacă primiți următoarea eroare:

      You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.

      puteți încerca să vă conectați la cota Samba din promptul de comandă., Deschideți un prompt de comandă, apoi executați următoarea comandă pentru a închide sesiunea curentă de Samba.

      net use \\samba-server-ip\share-name /delete

      Apoi, conectați-vă la Samba partaja cu următoarea comandă:

      net use \\samba-server-ip\share-name /user:samba-username password

      Odată ce comanda de mai sus finalizat cu succes, du-te la tab-ul de Rețea în File Explorer și acum ar trebui să fie capabil de a accesa Samba share.o caracteristică a sistemului de operare Windows este capacitatea de a mapa o literă de unitate (cum ar fi S:) într-un director la distanță., Pentru a mapa litera unității S: în partajarea Samba, faceți clic dreapta pe folderul partajat Samba și selectați Map network drive. Apoi alegeți o literă de unitate și faceți clic pe Finalizare.

      Odată ce unitatea de cartografiere este stabilit, aplicațiile pot accesa fișierele în partajarea Samba prin literă de unitate S:. Și această partajare Samba va fi montată automat când vă conectați la computerul Windows.,

      accesarea folderului Samba Share în Nautilus File Manager pe Linux

      Dacă utilizați Nautilus file manager, faceți clic peOther Locations din panoul din stânga. În partea de jos, veți vedea o opțiune de conectare la server. Pentru a accesa partajarea Samba, tastați smb:// urmată de adresa IP a serverului Samba și apăsați Enter. De exemplu:

      • smb://192.168.0.102

      Veți vedea o listă de resurse partajate pe server Samba.,

      Dacă faceți clic pe folderul privat partajat, va trebui să introduceți numele de utilizator și parola Samba. Dacă faceți clic pe folderul public partajat, alegeți să vă conectați ca anonim.

      Automat de Montare de Samba Share la Linia De Comandă în Linux

      Dacă aveți nevoie pentru a monta automat Samba share la boot, puteți utiliza linia de comandă pentru a monta și apoi adăugați o intrare în /etc/fstab fișier. Pentru a face acest lucru, trebuie să instalați pachetul cifs-utils.,

      CentOS/RHEL

      sudo dnf install cifs-utils

      Debian/Ubuntu

      sudo apt install cifs-utils

      Apoi a crea un punct de montare pentru partajarea Samba.

      sudo mkdir /mnt/samba-private

      acum Puteți utiliza următoarea comandă pentru a monta un folder privat partajat.

      sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/

      vă va cere să introduceți parola Samba. După aceea, acesta va fi montat la/mnt/samba-private/ director.

      pentru a monta automat cota Samba, edita/etc/fstab fișier.

      sudo nano /etc/fstab

      adăugați următoarea linie în fișier.,

      unde:

      • / / 192.168.0.102 / privat: adresa IP a serverului Samba și numele partajării.
      • / mnt / samba-privat: punctul de montare pentru cota de Samba.
      • cifs: Tip Sistem de fișiere
      • x-systemd.automount: această opțiune spune systemd pentru a crea o unitate automount pentru sistemul de fișiere. Folosim acest lucru pentru că se asigură că sistemul de fișiere la distanță este montat numai după ce există acces la rețea.
      • _netdev: aceasta specifică faptul că montura necesită rețea.
      • acreditări=: Linux ar trebui să caute acreditări în fișierul /etc/samba-credential.conf.,
      • uid=1000, gid=1000: în mod implicit, sistemul de fișiere montat va fi deținut de utilizatorul rădăcină. Folosim uid și gid pentru a schimba proprietatea asupra sistemului de fișiere. În mod normal, utilizați propriile uid și gid, care sunt ambele 1000 în mod implicit.
      • x-gvfs-show: dacă utilizați mediul desktop GNOME sau derivatele sale, puteți utiliza această opțiune pentru a afișa sistemul de fișiere montat în managerul de fișiere.

      Salvați și închideți fișierul. Apoi creați fișierul de acreditare.

      sudo nano /etc/samba-credential.conf

      adăugați următoarele linii în fișier.

      username=your_samba_usernamepassword=samba_passworddomain=WORKGROUP

      Salvați și închideți fișierul., Asigurați-vă că numai utilizatorul rădăcină poate citi acest fișier.

      sudo chmod 600 /etc/samba-credential.conf

      Dacă reporniți computerul Linux acum, cota Samba va fi montată automat.

      nu se poate scrie la cota de Samba?

      suportul CIFS descris mai sus vă permite să scrieți în cota Samba. Dacă vedeți următoarea eroare la crearea unui fișier:

      Read-only file system

      verificați dacă setați writable = yes în fișierul de configurare Samba., Uneori, folderul partajat Samba se află pe un hard disk extern, apoi asigurați-vă că montați hard disk-ul extern în modul citire-scriere pe serverul Samba. De exemplu, am montat btrfs hard disk cu următoarea linie în /etc/fstab.

      LABEL=5TB /mnt/5TB btrfs defaults 0 0

      se dovedește că opțiuneadefaults nu permite operația de scriere. Pentru a face inscriptibil, adăugați rw opțiune.

      LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0

      apoi demontați unitatea hard disk. Trebuie să utilizați propriul punct de montare.

      sudo umount /mnt/5TB

      și montați-l din nou.,

      sudo mount -a

      Depanare Sfat

      Dacă Samba server nu funcționează cum era de așteptat, puteți verifica fișierele jurnal sub /var/log/samba/ director. Puteți adăuga următoarea linie în secțiunea din fișierul /etc/samba/smb.conf pentru a crește nivelul jurnalului dacă doriți să înregistrați mai multe informații.

      log level = 2

      înfășurarea

      asta este! Sper că acest tutorial v-a ajutat să configurați serverul Samba pe Ubuntu. Ca întotdeauna, dacă ați găsit această postare utilă, abonați-vă la newsletter-ul nostru gratuit., Și poate doriți să citiți următorul articol pentru a partaja imprimanta în rețeaua locală.

      • Set Up CUPE Print Server pe Ubuntu (Bonjour, IPP, Samba, AirPrint)
      Votezi acest tutorial

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *