Organizarea de către Samba a accesului la subfoldere printr-un singur punct de intrare

Sarcina: să furnizeze un astfel de acces general la fișiere cu ajutorul SAMBA, astfel încât utilizatorii de la alte mașini să poată accesa, prin intermediul unui dosar special, numai subfolderele admise ale acestui folderA și folderulB. și ambele fișiere și foldere necesare pentru a oferi drepturi la masca 770. Adică utilizatorii unui folder ar trebui să aibă dreptul de a lucra cu toate documentele din acest dosar, indiferent de cine le-a creat. De asemenea, a fost necesar să se interzică accesul direct la subfoldere, ocolind pe cel principal de la computerele externe.

Astfel, ierarhia dosarelor este după cum urmează:

comun
- folderA
- folderB

În procesul de rezolvare a problemei, sa constatat că, cu subdosare SAMBA funcționează numai pe algoritmi ei de sclavi și tot ce a fost scris în Manah, ei practic nu se aplică, cu câteva excepții. Cu toate acestea, postul și rugăciunea au reușit să creeze o configurație viabilă, în care toate cerințele de mai sus sunt îndeplinite.

Aici este config (/etc/samba/smb.conf):

[Global]
grup de lucru = WORKGROUP
securitate = utilizator
oaspete ok = nu

[Common]
cale = / var / samba
utilizatorii valabili = @ everybody
grupul de forțe = + oricine
scrie = da
creați masca = 0660
forța de creare a forței = 0110
directorul mască = 0770

[FolderA]
cale = / var / samba / folderA
utilizatorii valabili = @users_folderA
grupul de forțe = + utilizatori_folderA
navigabil = nu

[FolderB]
cale = / var / samba / folderB
utilizatorii valabili = @users_folderB
grupul de forțe = + utilizatori_folderB
navigabil = nu

Există trei grupuri de utilizatori: Toată lumea. users_folderA și users_folderB.
Utilizatorii, de exemplu, de asemenea 3: den. sam și alex.
Utilizatorii den și sam li se permite să folosească numai folderul users_folderA. și alex utilizatorului - numai folderul users_folderB. Calea către aceste subfoldere este prin directorul comun (/ var / samba), astfel încât toți utilizatorii sunt incluși într-un grup separat. Este un fel de punct de intrare pentru utilizatorii autorizați.

Salvăm config-ul, verificăm-l și reporni SAMBA:

# testparm
# restabilirea serviciului smbd
# restart serviciu nmbd

Acum ne vom ocupa de organizarea dosarelor și de drepturile acestora.

Trebuie să setați următoarele drepturi:

# rădăcină chown: Toate / var / samba
# chmod 770 / var / samba
# rădăcină chown: users_folderA / var / samba / folderA
# chmod 2770 / var / samba / folderA
# rădăcină chown: users_folderB / var / samba / folderB
# chmod 2770 / var / samba / folderB

Astfel, vom interzice toate, dar membrii unui grup de fiecare autorizat pentru a vizualiza și crea fișiere într-un dosar comun și toate subfolderele sale ambele noduri externe, și din carcasa interioară.

În același timp, destul de ciudat, dreptul de a crea fișiere și subfoldere în dosarele interne și folderA folderB moștenit de drepturile prevăzute în secțiunea [comună] pentru dosarul părinte. Mai mult decât atât, ei nu trebuie să precizeze în mod explicit în subsecțiunile [folderA] și [folderB] - acestea sunt pur și simplu ignorate.

Drepturile în 2770, expuse la folderA și dosarul folderB asigură că toate fișierele și subfolderele care sunt în ele, vor fi întotdeauna create cu subgrupele corespunzătoare ale acestor dosare părinte, care oferă utilizatorilor subgrupuri acces complet la orice documente și subfoldere, chiar dacă au fost create de către alți utilizatori.

vigoare Directiva a crea modul = 0110 este necesară pentru a expune fără TVA fișierele nou create biți executabile pentru proprietarul și grupul care nu este expusă directiva creează masca. Directiva modul vigoare creează funcționează pe principiul sau masca de acces principal, și pune bitul în cazul în care el nu a pus directiva a crea masca.

Grupul de forțe = directivă + subgrupă interzice accesul la dosare pentru toți cei care nu aparțin acestui subgrup. Eu sincer nu înțeleg modul în care utilizatorul nu este inclus în subsetul, în general, ar putea obține orice acces la subfolderul corespunzător, dar precauție suplimentară nu poate face rău.

Directiva writable = yes în secțiunea principală permite scrierea în directorul principal principal. dar în același timp stabilește rigid permisiunile de scriere și subfolderele acestui dosar care nu pot fi redefinite în secțiunile interne. Această moștenire ciudată de reguli de scriere permite scrierea în subfolderele folderului A și folderului B numai dacă ați ajuns la ele prin dosarul părinte comun. Dacă încercați să accesați direct subfolderele, aceștia vor fi doar cititori și chiar utilizatorii de subgrupuri autorizate nu pot face nimic cu conținutul acestor subfoldere.

Directiva direcționabilă = nu ascunde în general subfolderele din linia de vedere din exterior. Prin urmare, când răsfoiți mediul de rețea de la alte computere, veți vedea numai dosarul obișnuit.

Astfel, problema este complet rezolvată, dar unele caracteristici ale SAMBA nu corespunde cu ceea ce este scris în ea om-ah, și chiar să le contrazică.