Server de fișiere Ubuntu server. Cum să creați un server Linux cu propriile mâini și de ce aveți nevoie pentru asta. Cele mai bune sisteme de operare Linux pentru servere

Pe Ubuntu este foarte ușor să implementezi un server de fișiere pentru mașinile Windows. Utilizarea standard a unui astfel de server este de a organiza stocarea fișierelor în domeniul Active Directory. Cu toate acestea, puteți crea cu ușurință servere de fișiere într-o rețea fără domeniu, de exemplu, pentru uz casnic.

În orice caz, veți avea nevoie de cel puțin Samba, care poate fi instalat prin managerul de pachete Synaptic sau cu comanda

Server de fișiere ca parte a unui domeniu Active Directory

Pentru a crea un server de fișiere integrat într-un domeniu Active Directory, va trebui mai întâi să vă alăturați mașinii Ubuntu la domeniu. Un articol separat este dedicat acestui lucru:

Pentru a crea un server de fișiere, nu trebuie să configurați PAM, doar adăugați utilizatori de domeniu și grupuri prin Winbind în sistem.

După ce vă conectați cu succes la domeniu, tot ce trebuie să faceți este să configurați resursele partajate de pe computer.

Aici ar trebui să acordați imediat atenție unui lucru foarte important: Samba încearcă să mapați drepturile asupra fișierelor Windows pe drepturi Unix, cu toate acestea, din cauza diferențelor fundamentale în mecanismele de atribuire a drepturilor, acest lucru nu este întotdeauna posibil. Vă rugăm să rețineți că drepturile de fișiere sunt întotdeauna și în orice caz controlate de sistemul dvs. de fișiere pe un computer care rulează Ubuntu; Samba se poate adapta doar la acestea, dar nu le poate schimba comportamentul.

Prin urmare, în mod implicit, resursele partajate vor avea capacități de control al accesului foarte limitate - atribuind drepturi diferite utilizatorului, grupului și tuturor celorlalți. Cu toate acestea, acest lucru poate fi rezolvat cu ușurință prin adăugarea suportului POSIX ACL la FS. În acest caz, va fi posibil să atribuiți diferite drepturi unor utilizatori și grupuri diferite, la fel ca în Windows.

Suportul POSIX ACL este disponibil cel puțin în ext3/4; pentru a-l activa, trebuie doar să adăugați parametrul acl la opțiunile de montare ale partiției dorite.

Este important ca directorul pe care doriți să îl partajați prin Samba să fie pe un disc montat cu opțiunea acl. În caz contrar, nu veți putea folosi în mod corespunzător mecanismul de delimitare a drepturilor de acces la fișierele de pe partajări.

Mai există un punct foarte important: ACL-urile POSIX nu acceptă moștenirea drepturilor de acces din directoarele părinte, dar în Windows această caracteristică este prezentă. Prin urmare, Samba implementează un mecanism suplimentar pentru stocarea informațiilor despre moștenirea drepturilor de acces, care utilizează atribute extinse ale sistemului de fișiere. Prin urmare, pentru ca Samba să gestioneze corect moștenirea altor drepturi decât acl, este necesar să adăugați parametrul user_xattr la opțiunile de montare a sistemului de fișiere, care este responsabil pentru activarea suportului pentru atributele extinse.

De exemplu, folosesc întotdeauna discuri LVM separate pentru a organiza resursele partajate, iar liniile mele fstab pentru ele arată cam așa:

/dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2

Opțiunea noexec este necesară deoarece nu ar trebui să existe 100% fișiere executabile Linux pe acțiunile Windows și nu ar strica să fii din nou în siguranță.

Pentru a lucra cu acl pe Ubuntu, trebuie să instalați un pachet de utilitare adecvate:

Sudo aptitude install acl

Apoi puteți vizualiza drepturile extinse (adică ACL) pentru un fișier sau director cu comanda

Fișierul Getfacl

Și instalați cu comanda

Fișierul Setfacl

Pentru orice eventualitate, aș dori să vă atrag atenția asupra faptului că mecanismul POSIX ACL nu are nimic de-a face cu Samba - este pur și simplu un add-on la mecanismul standard de împărțire a drepturilor în Linux. În consecință, Samba îl poate folosi, dar nu îl poate schimba sau ocoli în niciun fel.

Pentru a lucra cu atribute FS extinse, veți avea nevoie de un pachet de utilitate foarte asemănător cu acl - attr , care poate fi instalat cu comanda

Sudo aptitude install attr

Pentru a vizualiza atributele extinse puteți folosi comanda

Fișierul Getfattr

Și pentru instalare

Fisierul Setfattr

Cu toate acestea, există o captură mică. Faptul este că Samba stochează toate informațiile despre moștenire în formă binară într-un singur atribut extins user.SAMBA_PAI. Prin urmare, nu veți putea modifica nimic folosind setfattr, decât dacă eliminați complet atributele extinse (uneori poate fi necesar să faceți acest lucru).

Ei bine, va trebui să gestionați moștenirea drepturilor de la o mașină Windows folosind instrumentele standard ale acestui sistem. Sau folosind utilitarul smbcacls, dacă vă dați seama cum să îl utilizați.

Există, de asemenea, un modul VFS experimental acl_xattr, care vă permite să stocați ACL-uri NT în întregime în atribute extinse. Din păcate, nu există nicio documentație despre el, așa că este dificil să spui ceva inteligibil despre el. Este de așteptat ca Samba 4 să aibă suport integrat complet pentru ACL-uri NT, dar deocamdată puteți folosi ceea ce este disponibil.

Dacă aveți ceva de adăugat despre atributele extinse în Samba și despre metodele de lucru cu acestea, asigurați-vă că scrieți la acest subiect pe forum. Aș fi recunoscător pentru orice linkuri, articole și comentarii pe această temă.

În plus, atributele extinse ale sistemului de fișiere permit lui Samba să activeze suport complet pentru atributele fișierelor DOS, cum ar fi ascunse, arhivă etc.

Deci, să presupunem că aveți un director pe sistem pe care doriți să îl partajați prin Samba (și se află pe un disc montat cu suport acl și user_xattr). Acum trebuie să configurați efectiv partajarea acestuia. Pentru a face acest lucru, trebuie să introduceți informațiile corespunzătoare în fișierul /etc/samba/smb.conf.

Să începem cu setările generale care pot fi adăugate la secțiunea acestui fișier (aceștia nu sunt toți parametrii posibili, doar câțiva destul de utili):

# Dezactivează partajarea imprimantei. Cu excepția cazului în care, desigur, doriți cu adevărat să le împărtășiți. # Pentru a dezactiva complet, trebuie să specificați toate cele 4 linii de sub încărcarea imprimantelor = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Faceți fișierele cu următoarele nume ascunse când sunt vizualizate pe Windows hide files = /$ RECYCLE .BIN/desktop.ini/lost+found/Thumbs.db/ # Utilizați următorul utilizator UNIX ca partajare publică ca cont invitat invitat = nimeni # Tratează utilizatorii neînregistrați ca invitați harta pentru invitat = Utilizator rău ## Setări folosind fișierul avansat atribute de sistem # Gestionați moștenirea drepturilor utilizând atributele FS extinse map acl inherit = da # Utilizați atributele FS extinse pentru a stoca atribute DOS store dos attributes = yes # Dezactivați maparea atributelor DOS pe drepturile UNIX, activată implicit # Conform man smb.conf când Când utilizați atribute extinse, aceste opțiuni trebuie să fie dezactivate arhiva hartă = fără sistem de hărți = fără hartă ascunsă = fără hartă numai în citire = nu

Acum setările pentru resursa partajată direct. O numesc profiluri, iar fizic pe mașina Ubuntu se află la /var/data/profiles:

# Comentariu comentariu = Profiluri utilizator # Calea către folderul pe care îl partajăm calea = /var/data/profiles/ # Utilizatori cu drepturi de acces nelimitate la partajare # Am un grup de administratori de domeniu. # Când lucrează cu fișiere, acești utilizatori sunt tratați ca utilizatori administratori rădăcină local = „@DOMAIN\Domain Administrators” # Ascunde folderele la care utilizatorul nu are acces ascunde necitit = da # Acces fără doar citire numai citire = nu # Măști pentru fișierele create - pot fi setate după cum doriți #create mask = 0600 #directory mask = 0700 # Dezactivarea blocării - este mai bine să dezactivați blocarea = nu

Există multe alte opțiuni - merită să consultați documentația Samba pentru detalii.

Nu uitați să setați proprietarul corect și drepturile de acces la folderul pe care îl partajați, altfel, în ciuda oricăror setări de samba, scrierea în acesta poate fi interzisă la nivelul de permisiuni Linux. De obicei o fac așa:

Sudo chmod ug+rwx /var/data/profiles sudo chown root:"utilizatori de domeniu" /var/data/profiles

Vă rugăm să rețineți, deoarece mașina dvs. Ubuntu este conectată la un domeniu, puteți utiliza utilizatori și grupuri de domeniu ca proprietari de fișiere direct în Ubuntu.

Verificați dacă configurația Samba este corectă cu comanda

Testparm

Apoi reporniți Samba:

Sudo /etc/init.d/samba restart

Acum puteți accesa resursa partajată de pe orice mașină din domeniu.

Apropo, nu uitați de SGID și Sticky bits pentru directoare. Acestea vă vor permite să moșteniți grupul proprietar și să împiedicați utilizatorii să ștergă fișiere care nu sunt ale lor - acest lucru poate fi foarte convenabil pentru stocarea multi-utilizator. Cu toate acestea, spre deosebire de drepturile de editare din Windows, modificarea acestor biți în folderele dintr-o resursă partajată nu va funcționa - doar manual direct pe computerul Ubuntu.

Printre altele, Samba vă permite să organizați stocarea versiunilor anterioare de fișiere, ceea ce este uneori util atunci când creați resurse partajate cu datele utilizatorului. Detalii în articolul corespunzător:

Server de fișiere autonom

Nu toată lumea are un domeniu Active Directory. Prin urmare, este adesea nevoie de a organiza o stocare offline a fișierelor pe o mașină Linux cu propriul sistem de autorizare. Este foarte ușor de făcut.

Caracteristica principală a acestei organizări a stocării fișierelor va fi că toate informațiile despre utilizatori vor fi stocate în baza de date Samba; în consecință, utilizatorii vor trebui adăugați și șterși manual în Samba.

Cel mai important lucru este să decideți asupra modului de accesare a resursei. Pentru a-l schimba, trebuie să setați corect valoarea parametrului de securitate în secțiunea fișierului /etc/samba/smb.conf. Puteți citi mai multe despre acest parametru sau în documentația oficială.

De obicei, valoarea utilizată este share sau user.

Server de fișiere autonom fără autorizație

Este convenabil pentru casă, astfel încât toată lumea să poată vedea pe toată lumea. Acest lucru se poate face prin adăugarea a 4 linii la secțiunea fișierului /etc/samba/smb.conf. Unele pot exista deja.

[global] workgroup = WORKGROUP map to guest = Utilizator rău nume netbios = NOTEBOOK securitate = utilizator

NOTEBOOK - numele computerului care va fi în rețea. În plus, trebuie să instalați programe suplimentare:

sudo apt-get install samba

Pentru kubuntu trebuie să instalați și smb4k. După editarea configurațiilor, trebuie să reporniți serviciile. În systemd (din 15.04) repornirea arată astfel:

sudo systemctl restart smbd.service nmbd.service

Puteți vizualiza „bilele” prin browserul de fișiere nautilus, konkueror sau astfel:

Smbclient -L 127.0.0.1

. Documentație oficială în limba engleză.

Partajarea unui folder pe ubuntu

Creați un folder pentru partajarea fișierelor.

mkdir ~/share

Adăugați următoarele rânduri la sfârșitul fișierului /etc/samba/smb.conf, înlocuind yuraku1504 cu numele de utilizator al computerului care rulează samba:

[ MyShareWork] comentariu = Cale de partajare Samba anonimă = / home/ yuraku1504/ share guest ok = da navigabil = da scris = da numai citire = fără utilizator forțat = yuraku1504 grup forțat = yuraku1504

Dosarul va fi deschis pentru citire și scriere.

Samba este un pachet software open source pentru sistemele nix care implementează unele dintre caracteristicile oferite de Windows Server. Samba poate acționa ca un controler de domeniu, un serviciu Active Directory și poate partaja imprimante și directoare în rețea. În această postare, ne vom uita la utilizarea Samba ca server de fișiere. Motivația pentru utilizarea Samba mai degrabă decât, să zicem, FTP poate fi diferită. Cel puțin, cu ajutorul ei, într-adevăr Foarte Este convenabil să transferați fișiere între mașinile Windows și Linux. Doar montați directorul și mergeți.

Mai jos vom discuta despre instalarea Samba sub CentOS. Instalarea pentru alte distribuții Linux nu este practic diferită. Mai departe în text se presupune că Samba rulează pe o mașină cu adresa 10.24.5.42.

Împărtășim catalogul cu toată lumea

Instalare Samba:

sudo yum install samba

Verificam asta in /etc/samba/smb.conf in sectiunea Nu linia a comentat:

De asemenea, puteți schimba numele grupului de lucru. Am scris asa:

grup de lucru = GRUPUL MEU

La sfârșitul fișierului adăugați:


comentariu = Samba File Server Share
cale = /srv/samba/share
browsable = da
invitat ok = da
numai citire = nu
creați mască = 0755

sudo mkdir -p /srv/samba/share
sudo chown nobody:nobody/srv/samba/share/

sudo service smb start
sudo service nmb start

# porniți serviciile la pornirea sistemului
sudo chkconfig nmb activat
sudo chkconfig smb on

Acum, să spunem, în managerul de fișiere implicit Unity, puteți să vă atașați la smb://10.24.5.42/share, să creați directoare acolo și să încărcați fișiere în ele. Și, de asemenea, verificați dacă aceste modificări apar nu numai local, ci și pe server.

Jurnalele Samba sunt localizate în /var/log/samba/. Porturile folosite de Samba sunt 139 și 445. Pot fi redirecționate prin SSH sau folosind Ncat. Functioneaza, am verificat.

Acces prin autentificare și parolă

Oferirea tuturor accesului la director este nesigură. Să remediem această situație:

sudo adduser smbuser
sudo smbpasswd -a smbuser
sudo mkdir -p /srv/samba/smbuser
sudo chown smbuser:smbuser/srv/samba/smbuser

În /etc/samba/smb.conf adăugăm:


cale = /srv/samba/smbuser
disponibil = da
utilizatori validi = smbuser
numai citire = nu
browsable = da
public = da
inscriptibil = da

sudo service smb restart
sudo service nmb restart

Montați directorul în Linux și Windows:

Ura, fișierele sunt partajate cu succes între Windows și Linux!

Montare prin CLI

Dacă GUI-ul nu este disponibil, puteți monta directorul astfel:

sudo yum install samba-client samba-common cifs-utils
mkdir smbuser
sudo mount.cifs // 10.24.5.42/ smbuser / home/ eax/ smbuser \
-o utilizator =smbuser,parolă =PAROLA,uid =1000 # 1000 - uid al utilizatorului nostru

Dacă nu mai este nevoie de catalog, așa spunem.

Implementarea unui server de fișiere pentru mașinile Windows pe Ubuntu este destul de simplă. De obicei, un astfel de server este utilizat pentru a organiza stocarea fișierelor într-un domeniu Active Directory.

În același timp, puteți crea cu ușurință servere de fișiere într-o rețea fără domeniu, inclusiv pentru uz casnic.

În orice caz, utilizați Samba - instalați-l folosind managerul de pachete Synaptic sau următoarea comandă:

sudoapt-get install samba

FişierServerVcompoziţiedomeniuDirector activ

Pentru a crea un server de fișiere integrat într-un domeniu Active Directory, mai întâi trebuie să vă alăturați mașinii Ubuntu la domeniu.

Pentru a crea un server de fișiere, nu trebuie să configurați PAM; trebuie doar să adăugați utilizatori de domeniu și grupuri prin Winbind la sistem.

După conectarea la domeniu, configurați resursele partajate pe computer. Vă rugăm să rețineți că Samba va mapa permisiunile fișierelor Windows cu permisiunile Unix, dar diferențele fundamentale în mecanismele de permisiuni îl vor împiedica probabil să facă acest lucru. Drepturile la fișiere sunt întotdeauna și în orice caz gestionate de sistemul dvs. de fișiere pe un computer care rulează Ubuntu, iar Samba se poate adapta doar la acestea, dar nu le poate schimba comportamentul.

Deci, implicit, resursele partajate vor avea capacități modeste de control al accesului, inclusiv atribuirea de drepturi diferite utilizatorului, grupului și tuturor celorlalți. Dar puteți rezolva cu ușurință acest lucru adăugând suport POSIX ACL la FS. Apoi puteți atribui diferite drepturi unor utilizatori și grupuri diferite, la fel ca în Windows.

Suportul POSIX ACL poate fi găsit în ext3/4, iar pentru a-l activa trebuie doar să adăugați parametrul acl la opțiunile de montare ale partiției dorite.

Important! Directorul care trebuie partajat prin Samba trebuie să fie pe un disc montat cu opțiunea acl. În caz contrar, va fi imposibilă aplicarea corectă a mecanismului de delimitare a drepturilor de acces la fișierele de pe acțiuni.

Un alt lucru de reținut este că ACL-urile POSIX nu acceptă moștenirea drepturilor de acces din directoarele părinte, în timp ce Windows are această caracteristică. Deci, Samba are un mecanism suplimentar pentru stocarea informațiilor de moștenire a permisiunilor folosind atribute extinse ale sistemului de fișiere. Pentru ca Samba să gestioneze corect moștenirea drepturilor, pe lângă acl, adăugați parametrul user_xattr la opțiunile de montare a sistemului de fișiere, care este responsabil pentru activarea suportului pentru atributele extinse.

De exemplu, este convenabil să folosiți discuri LVM separate pentru a organiza resursele partajate. În acest caz, liniile din fstab pentru ele arată astfel:

/dev/mapper/data-profiles /var/data/profiles ext3defaults,noexec,acl,user_xattr 0 2

Opțiunea noexec este necesară pentru a fi în siguranță: nu ar trebui să existe 100% fișiere executabile Linux pe partajările Windows.

Instalați pachetul de utilități necesare pentru a lucra cu acl pe Ubuntu:

Sudo aptitude install acl


Acum vizualizați drepturile extinse (adică ACL) pe un fișier sau director cu următoarea comandă:

Fișierul Getfacl


Instalați cu această comandă:

Fișierul Setfacl


Nu uitați că mecanismul POSIX ACL nu are nimic de-a face cu Samba - este doar un add-on la mecanismul standard de permisiuni Linux. Așa că Samba îl poate folosi, dar nu îl poate schimba sau ocoli în niciun fel.

Pentru a utiliza atributele FS extinse, este util un pachet de utilitate similar cu acl - attr -, instalați-l cu următoarea comandă:

Sudo aptitude install attr


Pentru a vizualiza atributele extinse, utilizați comanda:

Fișierul Getfattr


Și pentru a instala:

Fisierul Setfattr


Amintiți-vă că Samba stochează toate informațiile de moștenire în formă binară într-un singur atribut extins, user.SAMBA_PAI. Deci schimbarea ceva folosind setfattr nu va funcționa, este posibilă doar eliminarea completă a atributelor extinse (în unele cazuri, acest lucru devine necesar).

Este posibil să controlați moștenirea drepturilor de la o mașină Windows utilizând instrumentele standard ale acestui sistem sau utilitarul smbcacls.

Atributele extinse ale sistemului de fișiere permit lui Samba să activeze suport complet pentru atributele fișierelor DOS (de exemplu, ascunse, arhivă etc.).

Dacă sistemul dumneavoastră are un director care trebuie partajat prin Samba (și se află pe un disc montat cu suport acl și user_xattr), configurați partajarea acestuia - introduceți informațiile necesare în fișierul /etc/samba/smb.conf.

În primul rând, aveți grijă de setările generale pentru adăugarea la secțiunea acestui fișier:


# Dezactivează partajarea imprimantei. Cu excepția cazului în care, desigur, doriți cu adevărat să le împărtășiți. # Pentru a dezactiva complet, trebuie să specificați toate cele 4 linii de mai josîncărcare imprimante = nu se afișează vrăjitorul de adăugare a imprimantei = fără nume printcap = /dev/null dezactivare spoolss = da # Faceți fișiere cu următoarele nume ascunse atunci când sunt vizualizate pe Windows ascunde fișierele = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Utilizați următorul utilizator UNIX ca invitat pentru partajarea publică cont de oaspete = nimeni # Tratați utilizatorii neînregistrați ca invitați hartă către oaspete = Utilizator rău ## Setări care utilizează atribute extinse ale sistemului de fișiere # Gestionați moștenirea drepturilor folosind atribute FS extinse map acl inherit = da # Utilizați atribute FS extinse pentru a stoca atribute DOS store dos attributes = da # Dezactivează maparea atributelor DOS pe drepturile UNIX, activată implicit # Conform man smb.conf, atunci când utilizați atribute extinse, aceste opțiuni trebuie să fie dezactivate arhivă hartă = fără sistem de hărți = fără hartă ascunsă = fără hartă readonly = nu


Apoi configurați însăși resursa partajată. În exemplu, este indicat ca profile, iar fizic pe o mașină Ubuntu se află la /var/data/profiles:


# Comentariu = Profiluri utilizator # Calea către folderul pe care îl partajăm cale = /var/data/profiles/ # Utilizatori cu drepturi de acces nelimitate la partajare # Am un grup de Administratori de domeniu. # Acești utilizatori sunt tratați ca rădăcină locală atunci când lucrează cu fișiere utilizatori admin = „@DOMAIN\ Administratori de domeniu” # Ascunde folderele la care utilizatorul nu are acces hide unreadable = da # Accesul nu este numai pentru citire numai citire = nu # Măști pentru fișierele create - pot fi setate după cum doriți#create mask = 0600 #directory mask = 0700 # Dezactivarea blocărilor - este mai bine să dezactivați blocare = nu


Există o serie de alte opțiuni - toate informațiile detaliate sunt în documentația Samba.

Asigurați-vă că setați corect proprietarul și drepturile de acces la folderul partajat, altfel scrierea în acesta poate fi interzisă la nivelul de permisiuni Linux. Poți sa faci asta:

Sudo chmod ug + rwx /var/data/profiles sudo chown root :"utilizatori de domeniu" / var/date/profiles

Atenţie! Deoarece mașina dvs. Ubuntu este conectată la un domeniu, puteți utiliza utilizatori și grupuri de domeniu ca proprietari de fișiere direct în Ubuntu.

Verificați dacă Samba este configurat corect cu următoarea comandă:

Sudo /etc/init. d/samba restart


Acum puteți accesa resursa partajată de pe orice mașină din domeniu. Dar nu uitați de SGID și Sticky bits pentru directoare, concepute pentru a moșteni grupul proprietar și pentru a împiedica utilizatorii să ștergă fișiere care nu sunt ale lor - acest lucru este valabil mai ales pentru stocarea multi-utilizator. În același timp, spre deosebire de drepturile de editare din Windows, este imposibil să se schimbe acești biți pe folderele dintr-o resursă partajată - doar manual direct pe computerul Ubuntu.

Samba vă permite să stocați versiuni anterioare ale fișierelor, ceea ce poate fi util atunci când creați partajări ale datelor utilizatorului.

Server de fișiere autonom

Nu toată lumea are un domeniu Active Directory. Prin urmare, adesea devine necesar să se organizeze o stocare independentă a fișierelor pe o mașină Linux cu propriul sistem de autorizare. Nu e greu.

În acest caz, toate informațiile despre utilizatori vor fi stocate în baza de date Samba, iar utilizatorii vor trebui adăugați și șterși manual.

Principalul lucru este să decideți asupra modului de acces la resursa utilizată. Ar trebui să setați corect valoarea parametrului de securitate în secțiunea fișierului /etc/samba/smb.conf.

Valoarea implicită este share sau user.

Și nu uitați să schimbați valoarea parametrului grupului de lucru cu cel adecvat, iar toate celelalte setări vor depinde direct de obiective specifice.

Acasă este convenabil când toată lumea poate să-i vadă pe toată lumea. Pentru a face acest lucru, adăugați pur și simplu 4 linii în secțiunea fișierului /etc/samba/smb.conf (unele pot fi deja prezente):

[ global ] workgroup = WORKGROUP map to guest = Utilizator rău nume netbios = NOTEBOOK securitate = utilizator


NOTEBOOK - numele computerului care va fi în rețea. Instalați și programe suplimentare:

acțiune

Apoi adăugați următoarele linii la sfârșitul fișierului /etc/samba/smb.conf și înlocuiți „yuraku1504” cu numele de utilizator al computerului Samba:


[MyShareWork] comentariu = Partajare Samba anonimă path=/home/yuraku1504/share guest ok= da navigabil = da inscriptibil = da citit numai = fără utilizator de forță = yuraku1504 grup de forță = yuraku1504

Dosarul va fi deschis pentru citire și scriere.

Samba este un software pentru organizarea partajării fișierelor și lucrul cu resurse partajate între computerele care rulează Linux/Unix și sistemul de operare Windows. Samba constă dintr-o parte client și server. Partea client vă permite să accesați folderele de rețea și resursele Windows, iar partea de server, la rândul său, deschide accesul general la folderul Ubuntu pentru alte mașini, inclusiv Windows.

Această scurtă instrucțiune va acoperi cea mai simplă configurare a Samba Ubuntu 18.04, precum și cum să configurați accesul partajat la folderul Ubuntu cu mai multe niveluri de privilegii.

Vom crea trei foldere partajate cu niveluri de permisiune diferite. Un folder cu acces anonim, cu acces pentru utilizatorii aparținând unui anumit grup și acces doar pentru un anumit utilizator.

Atât mașinile Linux, cât și cele Windows pot accesa foldere partajate în Ubuntu, folosind orice program care rulează prin protocolul SMB.

Pentru ca totul să funcționeze corect, toate mașinile trebuie să fie în același grup de lucru specificat pe serverul Samba. În mod implicit, pentru Windows, Linux și MacOS, grupul de lucru se numește Workgroup. Pentru a afla ce grup de lucru este folosit în Windows, deschideți linia de comandă (Win+R, apoi cmd) și executați următoarea comandă:

stația de lucru net config

Vedem parametrul de care avem nevoie în linie Domeniul stației de lucru. Acesta este grupul de lucru.

Acum, dacă un computer cu un server Samba în rețea ta are o adresă IP permanentă, este indicat să o introduci în fișierul hosts. Pentru a face acest lucru, rulați linia de comandă ca administrator:

Și rulați comanda:

notepad C:\Windows\System32\drivers\etc\hosts

În fișierul care se deschide, adăugați o linie cu adresa IP a computerului pe care va fi instalat Samba:

192.168.0.1 srvr1.domain.com srvr1

Acum puteți trece la întrebarea cum să partajați folderul Ubuntu.

Configurarea Samba pe Ubuntu 16.04

Să începem, ca de obicei, cu instalarea. Instalarea Samba Ubuntu împreună cu toate componentele necesare se face cu comanda:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

Odată ce totul este instalat, puteți trece la configurare. Mai întâi, creați o copie de rezervă a fișierului original de configurare Samba:

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

După crearea copiei de rezervă, creați fișierul de configurare cu această comandă:

sudo vi /etc/samba/smb.conf

Mai întâi, să specificăm setările globale ale serverului de fișiere. Pentru a face acest lucru, introduceți următoarele linii în fișier:


grup de lucru = WORKGROUP

nume netbios = Ubuntu Share
dns proxy = nr

dimensiune maximă a buștenii = 1000
passdb backend = tdbsam
Sincronizarea parolei unix = da

schimbarea parolei pam = da
map to guest = utilizator prost
Usershare permite oaspeților = da

Să aruncăm o privire mai atentă la ce înseamnă aceste rânduri.

  • grup de lucru- grupul de lucru, așa cum sa menționat deja, ar trebui să fie același pe toate mașinile
  • numele netbios- numele computerului care va fi afișat în Windows;
  • fișier jurnal- adresa fisierului unde vor fi stocate mesajele de eroare si alte informatii;
  • Securitate- Efectuați autentificarea la nivel de utilizator în mod implicit;
  • ordine de rezolvare a numelui- ordinea rezoluției adreselor IP după numele NetBIOS. bcast - înseamnă trimiterea unei cereri de difuzare către rețeaua locală. Dacă toate calculatoarele între care este planificată interacțiunea sunt în aceeași rețea, această opțiune este optimă;
  • backend passdb- metoda de stocare a parolelor utilizatorului;
  • sincronizarea parolei unix- sincronizarea parolelor utilizatorului samba cu parole Unix locale;
  • harta pentru oaspete- indică când utilizatorului i se va acorda acces pentru oaspeți. Sunt disponibile trei valori - nu- niciodată, utilizator prost- când un astfel de utilizator nu există, parola proasta- când parola este introdusă incorect,

Când finalizați crearea fișierului de configurare, trecem la întrebarea cum să partajați folderul Ubuntu pentru Windows.

Partajarea folderelor Ubuntu

Mai întâi, să creăm un folder partajat accesibil tuturor. Adica cu acces anonim, fara autorizatie samba.

Creați un folder la care vom partaja accesul, de exemplu:

sudo mkdir -p /samba/allaccess

După ce folderul este creat, trebuie să setați drepturile de acces corecte pentru acesta. Următoarele comenzi permit accesul tuturor la folder și nu fac proprietarul nimeni:

cd /samba
sudo chmod -R 0755 allaccess
sudo chown -R nimeni:nogroup allaccess/

Următorul pas este de a descrie folderul allaccess din fișierul de configurare samba:


cale = /samba/allaccess
browsable = da
inscriptibil = da
invitat ok = da
numai citire = nu

Fișierul dvs. de configurare ar trebui să arate acum astfel:


grup de lucru = WORKGROUP
șir de server = %h server (Samba, Ubuntu)
nume netbios = Ubuntu Share
dns proxy = nr
fișier jurnal = /var/log/samba/log.%m
dimensiune maximă a buștenii = 1000
passdb backend = tdbsam
Sincronizarea parolei unix = da
program passwd = /usr/bin/passwd %u
schimbarea parolei pam = da
map to guest = utilizator prost
Usershare permite oaspeților = da
#==============
cale = /samba/allaccess
browsable = da
inscriptibil = da
invitat ok = da
numai citire = nu

Să aruncăm o privire mai atentă la opțiunile care au fost folosite aici:

  • cale- calea către folderul care trebuie partajat;
  • navigabil- dacă folderul va fi afișat în lista de partajări disponibile;
  • inscriptibil- dacă folderul va putea fi scris;
  • numai citit- folderul este doar pentru citire;
  • invitat ok, public- dacă va fi permis accesul oaspeților;
  • numai oaspete- dacă este setat la da, atunci folderul va fi accesibil doar oaspeților;
  • gazdele permit- adrese IP de la care puteți accesa acest server;
  • utilizatori validi- implicit, toți utilizatorii se pot autentifica; dacă treceți o listă de utilizatori în acest parametru, atunci doar ei se pot autentifica;
  • creați o mască- masca de drepturi pentru fișierele create.

Pentru a aplica modificările, reporniți serverul Samba:

sudo systemctl reporniți samba

Configurarea Samba Ubuntu 16.04 pentru acces anonim este completă. Acum puteți verifica disponibilitatea folderului partajat allaccess din Windows, pentru a face acest lucru, apăsați Win+R și rulați:

\\srvr1\allaccess

Veți vedea folderul nostru. Dacă nu îl vedeți, verificați din nou configurația. Dosarul poate fi accesat fără autorizație samba. Configurarea partajărilor Samba cu acces fără autorizare este completă.

De asemenea, vă puteți conecta la acest server din Linux folosind Nautilus; trebuie doar să introduceți adresa smb://ip-server, in sectiunea alte locuri:

Partajare securizată a folderelor Ubuntu

Pentru a partaja un folder pentru Windows Ubuntu, la care vor avea acces numai utilizatorii dintr-un anumit grup, vom crea un folder separat și îl vom descrie în fișierul de configurare Samba din Ubuntu.

Mai întâi creăm un folder:

sudo mkdir -p /samba/allaccess/secured

Creați un grup:

sudo addgroup securedgroup

Configurarea drepturilor:

cd /samba/allaccess
$ sudo chown -R richard:securedgroup securizat
$ sudo chmod -R 0770 securizat/

Ultimul pas este să adăugați setări la fișierul de configurare samba:

sudo vi /etc/samba/smb.conf


cale = /samba/allaccess/secured
utilizatori validi = @securegroup
invitat ok = nu
inscriptibil = da
browsable = da

Reporniți serverul Samba. Acum numai utilizatorii grupului securizat pot accesa folderul partajat în Ubuntu.

Pentru a verifica cum funcționează, să adăugăm utilizatorul richard la grupul nostru:

sudo usermod -a -G securedgroup richard

  • 30.03.2010

Un server de fișiere, alături de un router, poate fi numit, fără exagerare, un element esențial pentru orice organizație. Utilizarea Linux pentru un astfel de server pare foarte atractivă, cel puțin în organizațiile mici care nu necesită o integrare strânsă cu AD. Iar banii economisiți pe costul Windows Server și al licențelor client pentru acesta vor fi foarte folositori în vremurile noastre de criză.

Vom lua în considerare configurarea unui server de fișiere folosind exemplul rețelei noastre condiționate, care are deja un router, pe care îl instalăm, deși nimeni nu se deranjează să combine aceste funcții pe un singur server.

Acum să trecem la configurarea rolului de server de fișiere. Pentru ao implementa avem nevoie Samba, acest pachet oferă partajarea fișierelor și a imprimantei clienților din rețelele Microsoft.

Sudo apt-get install samba

Pentru a configura, editați fișierul /etc/samba/smb.conf, să începem cu secțiunea globală, ai cărei parametri se aplică tuturor serviciilor. Să setăm numele grupului de lucru:


grup de lucru = WORKGROUP

Pentru a accesa resursele serverului de fișiere fără autorizație pe acesta, setați următorul parametru:

Securitate = share

Dacă serverul are mai multe interfețe de rețea, de exemplu, combinate cu un router, atunci puteți (și ar trebui) să limitați accesul la serverul de fișiere la rețeaua internă. Să presupunem că avem eth0 - o rețea externă, eth1 - una internă, pentru a funcționa doar cu interfața internă pe care o specificăm:

Interfețe = lo, eth1
bind interfețe numai = adevărat

Inițial, aceste setări sunt suficiente, nu uitați să salvați modificările. Să luăm în considerare setările secțiunilor de servicii, să presupunem că avem nevoie de o resursă partajată 1Cbaze pentru găzduirea bazelor de date 1C:Enterprise. Să creăm un director nou /data/1CBaseși setați-i drepturi depline pentru toată lumea:

Sudo mkdir /data/1CBases
sudo chmod 777 /data/1CBases

În cele din urmă smb.conf adăugați următoarea secțiune:


cale = /data/1CBase
invitat ok = da
scris = da

Cu parametrii secțiunii, totul este foarte clar; numele secțiunii (în paranteze drepte) determină numele resursei partajate. Primul parametru specifică calea către acesta, al doilea și al treilea permit accesul oaspeților și, respectiv, scrierea. Salvați fișierul de configurare și reporniți Samba:

Sudo /etc/init.d/samba restart

După care serverul nostru ar trebui să fie vizibil în mediul de rețea Windows și un folder partajat va fi disponibil pe acesta 1Cbaze.

Pentru administrare la distanță Samba Vă recomandăm să instalați un pachet care oferă o interfață web Swat:

Sudo apt-get install swat

Pentru a profita de toate caracteristicile pachetului, va trebui să vă autentificați ca root.Dar implicit în Ubuntu, root nu are o parolă, așa că să o setăm (și nu uitați că acum trebuie să introduceți-l pentru a efectua sarcini administrative) și reporniți:

Sudo passwd root
sudo reboot

Acum, în orice browser, trebuie doar să tastați http://nume_server:901și, după autorizare, obțineți acces complet la setări Samba.

Autorii Swat sunt dezvoltatorii Samba, deci această soluție poate fi considerată „nativă”. Într-adevăr Swat oferă acces deplin la toate setările Sambași vă permite să efectuați aproape orice sarcină fără editare manuală smb.conf.