Android

Cum se instalează și se configurează samba pe ubuntu 18.04

2 месяца с Ubuntu 18.04 LTS - так ли она хороша?

2 месяца с Ubuntu 18.04 LTS - так ли она хороша?

Cuprins:

Anonim

Samba este o reimplementare gratuită și open-source a protocolului de partajare a fișierelor de rețea SMB / CIFS care permite utilizatorilor finali să acceseze fișiere, imprimante și alte resurse partajate.

Acest tutorial explică cum se instalează Samba pe Ubuntu 18.04 și se configurează ca un server autonom pentru a oferi partajarea fișierelor pe diferite sisteme de operare dintr-o rețea.

Vom crea următoarele share-uri și utilizatori Samba.

Utilizatori:

  • sadmin - Un utilizator administrativ cu acces de citire și scriere la toate acțiunile. josh - Un utilizator obișnuit cu propriul său fișier privat.

Acțiuni:

  • utilizatori - Această partajare va fi accesibilă cu permisiunile de citire / scriere de către toți utilizatorii. josh - Această partajare va fi accesibilă cu permisiuni de citire / scriere numai de către utilizatorii josh și sadmin.

Partajarea fișierelor va fi accesibilă de pe toate dispozitivele din rețeaua dvs. Mai târziu în acest tutorial, vom oferi, de asemenea, instrucțiuni detaliate despre cum să vă conectați la serverul Samba de la clienți Linux, Windows și macOS.

Cerințe preliminare

Înainte de a continua, asigurați-vă că sunteți conectat la sistemul dvs. Ubuntu 18.04 ca utilizator cu privilegii sudo.

Instalarea Samba pe Ubuntu

Samba este disponibil din depozitele oficiale Ubuntu. Pentru a o instala pe sistemul Ubuntu urmați pașii de mai jos:

  1. Începeți prin actualizarea indexului pachetelor apt:

    sudo apt update

    Instalați pachetul Samba cu următoarea comandă:

    sudo apt install samba

    După terminarea instalării, serviciul Samba va porni automat. Pentru a verifica dacă serverul Samba funcționează, introduceți:

    sudo systemctl status smbd

    Rezultatul ar trebui să semene mai jos ca să indice că serviciul Samba este activ și funcționează:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

În acest moment, Samba a fost instalat și gata de a fi configurat.

Configurarea firewallului

Presupunând că utilizați UFW pentru a gestiona firewallul, puteți deschide porturile activând profilul „Samba”:

sudo ufw allow 'Samba'

Configurarea opțiunilor Global Samba

Înainte de a face modificări la fișierul de configurare Samba, creați o copie de rezervă pentru scopuri de referință viitoare:

sudo cp /etc/samba/smb.conf{,.backup}

Fișierul de configurare implicit care se livrează cu pachetul Samba este configurat pentru serverul Samba autonom. Deschideți fișierul și asigurați-vă că server role este setat pe standalone server

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

În mod implicit, Samba ascultă toate interfețele. Dacă doriți să restricționați accesul la serverul Samba numai din rețeaua dvs. internă, decomandați următoarele două linii și specificați interfețele la care să vă legați:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Odată terminat, executați utilitatea testparm pentru a verifica erorile fișierului de configurare Samba. Dacă nu există erori de sintaxă, veți vedea Loaded services file OK.

În cele din urmă, reporniți serviciile Samba cu:

sudo systemctl restart smbd sudo systemctl restart nmbd

Crearea utilizatorilor Samba și a structurii de directoare

Pentru o mai ușoară întreținere și flexibilitate în loc să utilizați directoarele standard ( /home/user ), toate directoarele și datele Samba vor fi localizate în directorul /samba .

Pentru a crea tipul directorului /samba :

sudo mkdir /samba

Setați proprietatea grupului la sambashare . Acest grup este creat în timpul instalării Samba, ulterior vom adăuga toți utilizatorii Samba la acest grup.

sudo chgrp sambashare /samba

Samba folosește utilizatorii Linux și sistemul de permisiuni de grup, dar are propriul său mecanism de autentificare separat de autentificarea Linux standard. Vom crea utilizatorii folosind instrumentul standard de utilizare Linux și apoi vom seta parola utilizatorului cu utilitatea smbpasswd .

Așa cum am menționat în introducere, vom crea un utilizator obișnuit care va avea acces la partajarea fișierului său privat și la un cont administrativ cu acces de citire și scriere la toate acțiunile de pe serverul Samba.

Crearea de utilizatori Samba

Pentru a crea un utilizator nou numit josh folosiți următoarea comandă:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Opțiunile useradd au următoarele semnificații:

  • -M -nu creează directorul de acasă al utilizatorului. Vom crea manual acest director. -d /samba/josh - setați directorul principal al utilizatorului la /samba/josh . -s /usr/sbin/nologin - dezactivează accesul shell-ului pentru acest utilizator. -G sambashare - adăugați utilizatorul la grupul sambashare .

Creați directorul de acasă al utilizatorului și setați proprietarul directorului la josh și grupul sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Următoarea comandă va adăuga bitul setgid în directorul /samba/josh , astfel încât fișierele nou create în acest director vor moșteni grupul directorului părinte. În acest fel, indiferent de ce utilizator creează un nou fișier, fișierul va avea grupul proprietar de sambashare . De exemplu, dacă nu setați permisiunile directorului la 2770 și utilizatorul sadmin creează un nou fișier, utilizatorul josh nu va putea citi / scrie în acest fișier.

sudo chmod 2770 /samba/josh

Adăugați contul de utilizator josh la baza de date Samba setând parola utilizatorului:

sudo smbpasswd -a josh

Vi se va solicita să introduceți și să confirmați parola utilizatorului.

New SMB password: Retype new SMB password: Added user josh.

Odată ce parola este setată pentru a activa rularea contului Samba:

sudo smbpasswd -e josh

Enabled user josh.

Pentru a crea un alt utilizator, repetați același proces ca și atunci când creați utilizator josh .

În continuare, hai să creăm un sadmin utilizator și grup. Toți membrii acestui grup vor avea permisiuni administrative. Mai târziu, dacă doriți să acordați permisiuni administrative unui alt utilizator, adăugați pur și simplu acel utilizator la grupul sadmin .

Creați utilizatorul administrativ tastând:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Comanda de mai sus va crea, de asemenea, un grup sadmin și va adăuga utilizatorul atât la grupurile sambashare cât și la cele de sadmin .

Setați o parolă și activați utilizatorul:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Apoi, creați directorul de distribuire a Users :

sudo mkdir /samba/users

Setați proprietatea directoarei la sadmin pentru utilizator și grupul sambashare :

sudo chown sadmin:sambashare /samba/users

Acest director va fi accesibil de către toți utilizatorii autentificați. Următoarea comandă chmod oferă acces scris / citit membrilor grupului sambashare din directorul /samba/users :

sudo chmod 2770 /samba/users

Configurarea acțiunilor Samba

Deschideți fișierul de configurare Samba și adăugați secțiunile:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Opțiunile au următoarele semnificații:

  • și - Numele acțiunilor pe care le veți folosi la logare. path - Calea către acțiune. browseable - Dacă acțiunea trebuie să fie listată în lista de acțiuni disponibile. Prin setarea la no alți utilizatori nu va putea vedea partajarea. read only - Dacă utilizatorii specificati în lista de valid users sunt capabili să scrie în acest share. force create mode - Setează permisiunile pentru fișierele recent create din acest share. force directory mode - Setează permisiunile pentru directoarele recent create din această partajare. valid users - O listă de utilizatori și grupuri cărora li se permite accesul la distribuire. Grupurile sunt prefixate cu simbolul @ .

Pentru mai multe informații despre opțiunile disponibile, consultați pagina de documentare a fișierului de configurare Samba.

După ce ați terminat, reporniți serviciile Samba cu:

sudo systemctl restart smbd sudo systemctl restart nmbd

În secțiunile următoare, vă vom arăta cum să vă conectați la un share Samba de la clienți Linux, macOS și Windows.

Conectarea la un Samba Share de la Linux

Utilizatorii Linux pot accesa partajarea samba din linia de comandă, folosind managerul de fișiere sau pot monta share Samba.

Utilizarea clientului smbclient

smbclient este un instrument care vă permite să accesați Samba din linia de comandă. Pachetul smbclient nu este preinstalat pe majoritatea distro-urilor Linux, astfel încât va trebui să îl instalați cu managerul dvs. de pachete de distribuție.

Pentru a instala smbclient pe Ubuntu și Debian rulați:

sudo apt install smbclient

Pentru a instala smbclient pe CentOS și Fedora rulați:

sudo yum install samba-client

Sintaxa pentru a accesa un share Samba este următoarea:

mbclient //samba_hostname_or_server_ip/share_name -U username

De exemplu, pentru a vă conecta la un share numit josh pe un server Samba cu adresa IP 192.168.121.118 ca utilizator josh ați rula:

smbclient //192.168.121.118/josh -U josh

Vi se va solicita să introduceți parola utilizatorului.

Enter WORKGROUP\josh's password:

După ce introduceți parola, veți fi conectat la interfața liniei de comandă Samba.

Try "help" to get a list of possible commands. smb: \>

Montarea cotei Samba

Pentru a monta un share Samba pe Linux, mai întâi trebuie să instalați pachetul cifs-utils .

Pe Ubuntu și Debian rulează:

sudo apt install cifs-utils

Pe CentOS și Fedora rulează:

sudo yum install cifs-utils

Apoi, creați un punct de montaj:

sudo mkdir /mnt/smbmount

Montați distribuirea folosind următoarea comandă:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

De exemplu, pentru a monta o josh numită josh pe un server Samba cu adresa IP 192.168.121.118 ca utilizator josh la punctul de montaj /mnt/smbmount pe care l-ați rula:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Vi se va solicita să introduceți parola utilizatorului.

Password for josh@//192.168.121.118/josh: ********

Utilizarea GUI

Fișiere, managerul de fișiere implicit din Gnome are opțiunea încorporată pentru a accesa acțiunile Samba.

  1. Deschideți fișiere și faceți clic pe „Alte locații” din bara laterală. În „Conectați-vă la server”, introduceți adresa partajării Samba în următorul format smb://samba_hostname_or_server_ip/sharename Faceți clic pe „Conectați” și va apărea următorul ecran:

Concluzie

În acest tutorial, ați învățat cum să instalați serverul Samba pe Ubuntu 18.04 și să creați diferite tipuri de utilizatori partajați și utilizatori. V-am arătat, de asemenea, cum să vă conectați la serverul Samba de pe dispozitive Linux, macOS și Windows.

samba ubuntu