Cum se gestionează ACL-urile sistemului de fișiere cu scripturi PowerShell

tipuri de permisiuni NTFS pentru fișiere și foldere

există permisiuni NTFS de bază și avansate. Puteți seta fiecare dintre permisiuni la” permiteți „sau”refuzați”. Aici sunt permisiunile de bază:

  • control complet: utilizatorii pot modifica, adăuga, muta și șterge fișiere și directoare, precum și proprietățile lor asociate. În plus, utilizatorii pot modifica setările de permisiuni pentru toate fișierele și subdirectoarele.
  • modificare: Utilizatorii pot vizualiza și modifica fișierele și proprietățile fișierelor, inclusiv ștergerea și adăugarea fișierelor într-un director sau proprietățile fișierelor într-un fișier.
  • Read& Execute: utilizatorii pot rula fișiere executabile, inclusiv script
  • Read: utilizatorii pot vizualiza fișiere, proprietăți de fișiere și directoare.
  • Write: utilizatorii pot scrie într-un fișier și pot adăuga fișiere în directoare.

aici este lista de permisiuni avansate:

  • Traverse Folder / executa fișier: Utilizatorii pot naviga prin foldere pentru a ajunge la alte fișiere sau foldere, chiar dacă nu au permisiuni pentru aceste fișiere sau foldere. Utilizatorii pot rula, de asemenea, fișiere executabile. Permisiunea folderului Traverse intră în vigoare numai atunci când grupul sau utilizatorul nu are „verificarea traversei ocolitoare” chiar în snap-in-ul Politicii de grup.
  • list Folder / Read Data: utilizatorii pot vizualiza o listă de fișiere și subfoldere din dosar, precum și conținutul fișierelor.
  • read Attributes: utilizatorii pot vizualiza atributele unui fișier sau folder, cum ar fi dacă este doar în citire sau ascuns.
  • scrie atribute: utilizatorii pot schimba atributele unui fișier sau folder.
  • Citește atribute extinse: utilizatorii pot vizualiza atributele extinse ale unui fișier sau folder, cum ar fi permisiunile și timpii de creare și modificare.
  • scrie atribute extinse: utilizatorii pot schimba atributele extinse ale unui fișier sau folder.
  • creare fișiere / scriere date: permisiunea” creare fișiere ” permite utilizatorilor să creeze fișiere în folder. (Această permisiune se aplică numai folderelor.) Permisiunea „scriere date” permite utilizatorilor să facă modificări în fișier și să suprascrie conținutul existent. (Această permisiune se aplică numai fișierelor.)
  • creați foldere / Adăugați date: permisiunea” creați foldere ” permite utilizatorilor să creeze foldere într-un folder. (Această permisiune se aplică numai folderelor.) Permisiunea „Adăugați date” permite utilizatorilor să facă modificări la sfârșitul fișierului, dar nu pot modifica, șterge sau suprascrie datele existente. (Această permisiune se aplică numai fișierelor.)
  • Delete: utilizatorii pot șterge fișierul sau folderul. (Dacă utilizatorii nu au permisiunea „șterge” pe un fișier sau folder, ei pot șterge în continuare dacă au permisiunea „șterge subfoldere și fișiere” pe folderul părinte.)
  • permisiuni de citire: utilizatorii pot citi permisiunile unui fișier sau folder, cum ar fi „Control complet”, „citire” și „scriere”.
  • modificare permisiuni: utilizatorii pot schimba permisiunile unui fișier sau folder.
  • Take Ownership: utilizatorii pot prelua dreptul de proprietate asupra fișierului sau folderului. Proprietarul unui fișier sau folder poate schimba oricând permisiunile pe acesta, indiferent de permisiunile existente care protejează fișierul sau folderul.
  • sincronizare: utilizatorii pot folosi obiectul pentru sincronizare. Acest lucru permite unui fir să aștepte până când obiectul este în starea semnalizată. Acest drept nu este prezentat în editorul ACL. Puteți citi mai multe despre asta aici.

puteți găsi toate aceste permisiuni de utilizator executând următorul script PowerShell:

::getnames()

permisiunile NTFS pot fi explicite sau moștenite. Permisiunile explicite sunt permisiuni configurate individual, în timp ce permisiunile moștenite sunt moștenite din folderul părinte. Ierarhia permisiunilor este următoarea:

  • Explicit Deny
  • Explicit Allow
  • moștenit Deny
  • moștenit Allow

acum, că știm permisiunile NTFS sunt, să explorăm cum să le gestionăm.

Get ACL pentru fișiere și foldere

primul cmdlet PowerShell folosit pentru a gestiona permisiunile de fișiere și foldere este „get-acl”; listează toate permisiunile de obiecte. De exemplu, să obținem lista tuturor permisiunilor pentru folderul cu calea obiectului „\ \ FS1 \ shared \ sales”:

get-acl \\fs1\shared\sales | fl

Dacă doriți să obțineți un raport complet de permisiuni NTFS prin PowerShell, puteți urmări acest mod ușor de a exporta permisiunile NTFS în CSV.

copiați permisiunile pentru fișiere și foldere

pentru a copia permisiunile, un utilizator trebuie să dețină atât folderele sursă, cât și cele țintă. Următoarea comandă va copia permisiunile din folderul „contabilitate” în folderul ” vânzări:

get-acl \\fs1\shared\accounting | Set-Acl \\fs1\shared\sales

după cum putem vedea din ieșirea comenzilor „get-acl” înainte și după copierea permisiunilor, permisiunile folderului partajat „vânzări” au fost modificate.

Setați permisiunile pentru fișiere și foldere

cmdletul PowerShell „set-acl” este utilizat pentru a schimba Descriptorul de securitate al unui element specificat, cum ar fi un fișier, folder sau o cheie de registry; cu alte cuvinte, este utilizat pentru a modifica permisiunile pentru fișiere sau foldere. Următorul script setează permisiunea „FullControl” pentru a” permite „utilizatorului” ENTERPRISE\T.Simpson” în folderul „vânzări”:

dacă doriți să setați alte permisiuni pentru utilizatori sau grupuri de securitate, alegeți-le din tabelul de mai jos:

există, de asemenea, seturi de permisiuni de drepturi de acces de bază care pot fi aplicate:

eliminați permisiunile utilizatorului

pentru a elimina o permisiune, utilizați parametrul „Removeaccessrule”. Să ștergem permisiunea ” Allow FullControl „pentru T. Simpson în folderul” vânzări”:

observați că T.Simpson are încă permisiunea „Deny FullControl”. Pentru a-l elimina, să folosim comanda „PurgeAccessRules”, care va șterge complet permisiunile lui T. Simpson în folderul „vânzări”:

rețineți că „PurgeAccessRules” nu funcționează cu un nume de utilizator șir; funcționează numai cu SIDs. Prin urmare, am folosit clasa „Ntaccount” pentru a converti numele contului de utilizator dintr-un șir într-un SID. De asemenea, rețineți că” Purgeaccesrules ” funcționează numai cu permisiuni explicite; nu curăță cele moștenite.

dezactivați sau activați permisiunile moștenire

pentru a gestiona moștenirea, folosim metoda „SetAccessRuleProtection”. Are doi parametri:

  • primul parametru este responsabil pentru blocarea moștenirii din folderul părinte. Are două stări:” $true „și”$false”.
  • al doilea parametru determină dacă permisiunile moștenite curente sunt reținute sau eliminate. Are aceleași două stări:” $true „și”$false”.

să dezactivăm moștenirea pentru folderul „vânzări” și să ștergem și toate permisiunile moștenite:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($true,$false)$acl | Set-Acl \\fs1\shared\sales

acum avem doar o singură permisiune de acces stânga (pentru că a fost adăugat în mod explicit); toate permisiunile moștenite au fost eliminate.

să revenim la această modificare și să activăm din nou moștenirea pentru folderul „vânzări”:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($false,$true)$acl | Set-Acl \\fs1\shared\sales

schimbați proprietatea fișierului și folderului

Dacă doriți să setați un proprietar pentru un folder, trebuie să rulați metoda „SetOwner”. Să facem” ENTERPRISE\J. Carter „proprietarul dosarului” vânzări:

observați că am folosit din nou Clasa „Ntaccount” pentru a converti numele contului de utilizator dintr-un șir într-un SID.

rețineți că metoda ” SetOwner „nu vă permite să schimbați proprietarul în niciun cont dorit; contul trebuie să aibă drepturile” Take Ownership”,” Read „și” Change Permissions”.

după cum puteți vedea, este foarte ușor să gestionați permisiunile NTFS cu PowerShell. Dar nu uitați să auditați și permisiunile NTFS — este esențial ca securitatea să urmărească toate modificările aduse serverelor de fișiere pentru a reduce scurgerile de date și a combate amenințarea din interior și alte riscuri de securitate IT. Iată un ghid de bază despre cum să auditați permisiunile NTFS cu PowerShell.

Jeff este Director al ingineriei soluțiilor globale la Netwrix. El este un blogger Netwrix de lungă durată, vorbitor și prezentator. În blogul Netwrix, Jeff împărtășește lifehacks, sfaturi și trucuri care vă pot îmbunătăți dramatic experiența de administrare a sistemului.

Lasă un răspuns

Adresa ta de email nu va fi publicată.