Server de fișiere pentru ferestre, documentație rusă pentru ubuntu

Pe Ubuntu este foarte ușor să implementați un server de fișiere pentru mașinile Windows. Aplicația standard a unui astfel de server este organizarea stocării de fișiere în cadrul domeniului Active Directory. Cu toate acestea, puteți crea cu ușurință servere de fișiere într-o rețea cu un singur domeniu, de exemplu - pentru uz casnic.

În orice caz, veți avea nevoie cel puțin de Samba, pe care îl puteți instala prin intermediul managerului de pachete Synaptic sau al comenzii

Pentru a crea un server de fișiere, nu este necesar să configurați PAM, este suficient să adăugați la sistem utilizatori și grupuri de domenii prin Winbind.

După ce vă conectați cu succes la domeniu, va trebui doar să configurați resursele partajate de pe computer.

Aici ar trebui să acorzi imediat atenție unui lucru foarte important: Samba încearcă să proiecteze drepturile la fișierele Windows pe drepturile Unix. Cu toate acestea, din cauza diferențelor fundamentale în mecanismele de atribuire a drepturilor, acest lucru nu este întotdeauna posibil. Rețineți că drepturile la fișiere sunt întotdeauna și în orice caz controlate de sistemul dvs. de fișiere pe un computer cu Ubuntu, samba poate fi ajustată numai pentru ei, dar nu își schimbă comportamentul.

Prin urmare, în mod implicit, pe resurse partajate, vor exista opțiuni foarte slabe de control al accesului - atribuirea unor drepturi diferite utilizatorului, grupului și tuturor celorlalte. Cu toate acestea, este ușor de rezolvat prin adăugarea suportului POSIX ACL către FS. În acest caz, puteți atribui drepturi diferite utilizatorilor și grupurilor diferite, aproape ca în Windows.

Suportul POSIX ACL este cel puțin în ext3 / 4, pentru ao activa, trebuie doar să adăugați opțiunea acl pentru a monta partiția dorită.

Este important ca directorul pe care doriți să-l distribuiți prin Samba să fie pe discul montat cu opțiunea acl. În caz contrar, nu veți putea utiliza în mod corespunzător mecanismul de delimitare a drepturilor de acces la fișierele de pe bile.

Există un alt punct foarte important: POSIX ACL nu suportă moștenirea drepturilor de acces din directoarele părinte, iar în Windows această opțiune este prezentă. Prin urmare, Samba implementează un mecanism suplimentar pentru stocarea informațiilor privind moștenirea drepturilor de acces, care utilizează atributele sistemului de fișiere extinse. Prin urmare, pentru ca Samba să se ocupe corect de moștenirea altor drepturi decât acl, parametrul user_xattr trebuie adăugat la opțiunile de montare a sistemului de fișiere. care este responsabil pentru includerea suportului pentru atributele extinse.

De exemplu, folosesc întotdeauna discuri separate LVM pentru organizarea resurselor partajate și liniile mele în fstab pentru ca acestea să arate așa:

Opțiunea noexec este necesară deoarece pe bilele pentru Windows 100% nu ar trebui să existe fișiere executabile de Linux și, din nou, nu va face rău pentru a fi reasigurată.

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

După aceasta, puteți vizualiza drepturile extinse (adică ACL) pe un fișier sau pe un director folosind comanda

Și instalați comanda

Doar în cazul în care vreau să vă atrag atenția asupra faptului că mecanismul POSIX ACL nu are nimic de-a face cu Samba - este doar un add-on asupra mecanismului standard de delimitare a drepturilor în Linux. În consecință, Samba o poate folosi, dar nu o poate schimba sau o poate ocoli.

Pentru a lucra cu atributele FS extinse, este necesar un pachet foarte similar cu pachetul utilitar acl - attr. care poate fi o echipă

Și pentru instalare

Cu toate acestea, există o mică lovitură. Faptul este că Samba stochează toate informațiile despre moștenire în formă binară în singurul utilizator atribut extins.SAMBA_PAI. Prin urmare, nu veți putea schimba ceva folosind setfattr, cu excepția faptului că puteți elimina complet atributele extinse (uneori acest lucru poate fi necesar).

Ei bine, va trebui să gestionați moștenirea drepturilor de la mașinile Windows utilizând instrumentele standard ale acestui sistem. Sau cu utilitatea smbcacls. dacă vă dați seama cum să o utilizați.

Există, de asemenea, modulul experimental VFS acl_xattr, care vă permite să stocați pe deplin NT ACL în atributele extinse. Din păcate, nu există nicio documentație despre aceasta, deci este greu să spun ceva inteligibil în legătură cu aceasta. Este de așteptat ca Samba 4 să aibă suport complet integrat pentru ACL-ul NT. dar deocamdată poți folosi ceea ce este.

În plus, atributele de fișiere extinse vă permit să includeți în Samba suport complet pentru atributele de fișiere DOS, cum ar fi ascunse, arhivate etc.

Deci, să presupunem că aveți un director în sistem pe care doriți să îl partajați prin Samba (și este pe un disc montat cu suport acl și user_xattr). Acum trebuie să configurați în mod corespunzător 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 pe care le puteți adăuga la secțiunea [globală] a acestui fișier (nu toți parametrii posibili, doar câteva dintre cele utile):

Există multe alte opțiuni - pentru detalii, merită să vă uitați la documentația Samba.

Nu uitați să puneți titularul drept și dreptul de acces la folderul pe care îl partajați și chiar dacă orice configurație a samba poate fi interzisă să scrieți la nivelul de drepturi Linux. De obicei, fac acest lucru:

Rețineți, deoarece mașina dvs. Ubuntu este introdusă în domeniu, puteți utiliza utilizatorii și grupurile de domenii ca proprietari de fișiere chiar în Ubuntu.

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

Apoi reporniți Samba:

Acum puteți obține acces la o resursă partajată de la orice mașină de domeniu.

Apropo, nu uitați de biții SGID și Sticky pentru directoare. Acestea vă vor permite să moșteniți grupul de proprietar și să împiedicați utilizatorii să ștergă propriile fișiere - acest lucru poate fi foarte convenabil pentru stocarea pentru mai mulți utilizatori. Cu toate acestea, spre deosebire de drepturile de editare din Windows, nu puteți schimba acești biți în foldere pe o resursă partajată - numai manual pe calculatorul Ubuntu.

În plus, 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 date de utilizator. Detalii în articolul relevant:

Caracteristica principală a unei astfel de organizații de stocare a fișierelor este aceea că toate informațiile despre utilizatori vor fi stocate în baza de date Samba, în consecință va fi necesar să adăugați și să ștergeți manual utilizatorii de la Samba.

Cel mai important lucru este să determinați modul în care utilizați resursa. Pentru ao modifica, trebuie să setați corect parametrul de securitate în secțiunea [global] a fișierului /etc/samba/smb.conf. Mai multe detalii despre acest parametru pot fi citite aici sau în documentația oficială.

De obicei, se utilizează valoarea partajării sau a utilizatorului.

Apoi, nu uitați să modificați valoarea parametrului grupului de lucru la cel dorit și toate celelalte setări depind foarte mult de obiectivele dvs.

Mai multe detalii despre configurarea unui server de fișiere simplu sunt descrise în articolul principal despre Samba.

Este convenabil pentru casă să vadă pe toată lumea. Acest lucru se poate face prin adăugarea a 4 linii în secțiunea [global] a fișierului /etc/samba/smb.conf. Unele ar putea exista deja.

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

Pentru kubuntu încă mai trebuie să instalați smb4k. După editarea configelor, trebuie să reporniți serviciile. În sistemd (începând cu 15.04) repornirea arată astfel:

Pentru a arata "bile" este posibil prin intermediul unui browser de fisiere nautilus, konkueror sau cam asa ceva:

Creați un dosar pentru partajarea fișierelor.

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

Dosarul va fi deschis pentru citire și scriere.