Utilizarea comenzii iCACLS pentru gestionarea permisiunilor pentru fișiere și foldere în Windows

Configurare noua (How To)

Situatie

Comanda ICACLS.exe integrată în Windows este utilizată pentru a gestiona permisiunile pentru fișiere și foldere din linia de comandă. Această comandă este utilizată cel mai adesea în scripturi și sarcini automatizate pentru a acorda, modifica, elimina sau face copii de rezervă ale permisiunilor NTFS pentru fișiere sau directoare utilizatorilor și/sau grupurilor.

Uneori este mai ușor și mai eficient să se configureze listele de control al accesului(ACL) pe un obiect al sistemului de fișiere utilizând comanda icacls în CLI decât să se ajusteze permisiunile NTFS utilizând fila Securitate din interfața grafică File Explorer.

Explicații privind abrevierile permisiunilor iCACLS

Mai jos se află o listă completă a abrevierilor permisiunilor utilizate în iCACLS:

Permisiuni de acces de bază:

F  —  acces complet (citire, scriere, modificare, ștergere, schimbare)
M  —  modificare (citire, scriere și ștergere)
RX  — acces de citire și executare
R  —  acces numai pentru citire
W  —  acces numai pentru scriere
D  —  numai ștergere
N – fără acces

Permisiuni avansate:

DE  —  ștergere
RC  —  control citire
WDAC  —  scriere DAC
WO —  proprietar scriere
S  —  sincronizare
AS  —  acces securitate sistem
MA  —  permisiunile maxime permise
GR  —  citire generică
GW  —  scriere generică
GE  —  executare generică
GA  —  generice toate
RD  —  citire date/listare director
WD  —  scriere date/adăugare fișier
AD  — adăugare date/adăugare subdirector
REA  —  citire atribute extinse
WEA  —  scriere atribute extinse
X  —  executare/traversare
DC  —  ștergere subdirector
RA  —  citire atribute
WA  —  scriere atribute

Setări de moștenire iCACLS:

(OI)  —  obiectele moștenesc ACE specificat
(CI)  —  subdirectoarele din directorul curent moștenesc ACE
(IO)  —  moștenesc numai obiectul curent
(NP)  —  nu propagă moștenirea
(I)  — permisiune moștenită de la containerul părinte

Solutie

Ce este iCACLS în Windows

Comanda icacls(Integrity Control Access Control List) este un instrument nativ al liniei de comandă Windows care permite utilizatorilor să vizualizeze, să modifice, să facă copii de rezervă și să restaureze permisiunile pentru fișiere și foldere pe sistemele de fișiere NTFS. Este înlocuitorul modern al comenzii cacls vechi.

Pentru a obține ajutor cu privire la sintaxa icacls, toate opțiunile disponibile și câteva exemple utile de utilizare, rulați-o fără comutatoare(cmd prompt sau Powershell):

icacls.exe

Cum se vizualizează permisiunile NTFS utilizând iCACLS

Introduceți calea completă a fișierului sau folderului pentru a afișa permisiunile NTFS atribuite în prezent acestuia:

icacls D:\FISIERE\FISIERE_IT

Această comandă returnează o listă de permisiuni pentru un obiect în formatul unei liste de control al accesului discreționar(DACL). DACL conține un set de intrări de control al accesului(ACE), fiecare dintre acestea descriind un utilizator sau un grup și permisiunile NTFS atribuite acestuia. Este similară cu lista de permisiuni NTFS pe care o puteți vedea în fila Securitate din proprietățile fișierului în File Explorer.

Înțelegerea rezultatelor ICACLS (detalierea intrării ACE)

Intrarea ACE are următorul format:

Entitate de securitate: niveluri de permisiuni

Ce include o intrare ACE tipică? De exemplu:

STARTECHTEAM\wks_admin:(OI)(CI)(RX)

STARTECHTEAM\wks_admin:(OI)(CI)(RX) este un principal de securitate(grup sau utilizator) căruia i se atribuie permisiuni.

Lista permisiunilor atribuite principalului de securitate urmează după două puncte (:).

(OI) — moștenire obiect;
(CI) — moștenire container;
(RX) — acces citire și executare.

Vizualizarea permisiunilor în File Explorer

Puteți vedea cum arată aceeași intrare ACE în interfața grafică File Explorer:

  1. Deschideți proprietățile fișierului sau folderului;
  2. Navigați la tab-ul Permissions;
  3. Apăsati pe Avansat;
  4. Lista tuturor înregistrărilor ACE atribuite este afișată în tab-ul Permissions.

Cum să setați și să modificați permisiunile NTFS cu ICACLS

Pentru a acorda unui utilizator(eg. wks.admin) permisiuni pentru a modifica (M) conținutul folderului specificat:

icacls D:\FISIERE/FISIERE_IT /grant STARTECHTEAM\WKS.ADMIN:M

Control complet asupra unui grup

În continuare, putem să acordăm permisiuni de control complet (F) unui folder și elementelor sale imbricate pentru un grup de securitate de domeniu:

icacls “D:\FISIERE\FISIERE_IT” /grant STARTECHTEAM\GrupulTau:(OI)(CI)(F) /Q /C /T

STARTECHTEAM\GrupulTau — acesta poate fi un utilizator sau un grup local sau de domeniu căruia doriți să îi acordați permisiuni. Este posibil să utilizați nume de grupuri încorporate: Administrators, Everyone, Users etc.
(OI)(CI) — moștenește permisiunile obiectului asupra fișierelor și folderelor din director
(F) — acordă permisiuni de control complet. Apoi, trebuie să aplicați mai multe permisiuni, de exemplu Citire + Executare și Scriere, separându-le cu virgulă, astfel: (RX,W)
/Q — suprimă mesajele de succes
/C — continuă în cazul erorilor
/T — aplică modificările tuturor fișierelor și subdirectoarelor(recursiv)

Înlocuirea ACL-urilor existente

Parametrul :r cu /grant este utilizat pentru a înlocui ACL-urile existente, în loc să adauge o nouă intrare ACL:

icacls D:\FISIERE\FISIERE_IT /grant:r Administrators:F

Refuzarea permisiunilor

Permisiunile NTFS de refuzare sunt rareori utilizate, cu excepția cazurilor în care trebuie să eliminați sau să protejați imediat fișiere importante. De exemplu, pentru a refuza în mod explicit unui anumit grup de utilizatori ștergerea fișierelor (D):

icacls D:\FISIERE\FISIERE_IT /deny “wks.admin:(CI)(D)”

Notă. Rețineți că regulile de refuz drepturi au prioritate față de regulile de acceptare.

Eliminare permisiuni NTFS

Elimină toate permisiunile NTFS care au fost atribuite direct unui utilizator.

icacls D:\FISIERE\FISIERE_IT /remove wks.admin

Gestionarea moștenirii permisiunilor cu iCACLS

Puteți utiliza comanda icacls.exe pentru a activa sau dezactiva moștenirea permisiunilor pentru obiectele folder sau fișier. Utilizați comutatorul /inheritance cu una dintre următoarele opțiuni:

E — activează moștenirea
D — dezactivează moștenirea și copiază ACE-ul curent
R — elimină toate ACE-urile moștenite

Activarea sau dezactivarea moștenirii NTFS

De exemplu, pentru a activa moștenirea permisiunilor pentru un obiect:

icacls D:\FISIERE\FISIERE_IT /inheritance:E

Pentru a dezactiva moștenirea și a elimina toate permisiunile moștenite:

icacls D:\FISIERE\FISIERE_IT /inheritance:R

Pentru a dezactiva permisiunile de moștenire asupra obiectului și a copia lista curentă de control al accesului (permisiune explicită):

icacls D:\FISIERE\FISIERE_IT /inheritance:D

Propagarea permisiunilor fără moștenire

Propagați permisiuni noi către toate fișierele și subfolderele fără a utiliza moștenirea:

icacls “D:\FISIERE\FISIERE_IT” /grant:r Everyone:(NP)(RX) /T

În acest caz, nu se suprascrie nicio permisiune specifică pentru subfoldere.

Cum să resetați permisiunile NTFS

Dacă permisiunile atribuite incorect determină comportamentul anormal al aplicațiilor sau chiar al sistemului de operare, le puteți reseta la valorile implicite.

Resetați permisiunile curente ale fișierului:

icacls D:\FISIERE\FISIERE_IT\procedura.docx /T /Q /C /RESET

Aceasta va înlocui permisiunile din fișier cu permisiunile moștenite din folderul părinte(echivalentul opțiunii „Înlocuiți toate intrările de permisiuni secundare cu permisiuni moștenite din acest obiect” din File Explorer).

Cum se modifică proprietatea unui fișier sau folder utilizând ICACLS

Comanda icacls poate fi utilizată pentru a schimba proprietarul unui director sau folder. De exemplu:

icacls D:\FISIERE\FISIERE_IT /setowner wks.admin /C /L /Q /T

Se poate schimba proprietarul tuturor fișierelor din director:

icacls D:\FISIERE\FISIERE_IT /setowner wks.admin /C /L /Q /T

Cum să faceți backup și să restaurați permisiunile NTFS folosind ICACLS

Comanda icacls vă permite să salvați ACL-urile curente ale obiectului curent într-un fișier text simplu (ceea ce reprezintă o modalitate de a face backup la permisiunile NTFS):
Cum să exportați permisiunile NTFS într-un fișier

Exportați ACL-ul curent al folderului și salvați-l într-un fișier *.TXT:

icacls D:\FISIERE\FISIERE_IT /save C:\TEMP\Folder_ACL.txt /T

Pentru a aplica ACL-urile salvate la folder(restabiliți permisiunile):

icacls D:\FISIERE\FISIERE_IT /restore C:\TEMP\Folder_ACL.txt /T /C /Q

Erori frecvente ICACLS

Este posibil să întâmpinați eroarea „Access is denied” atunci când încercați să modificați permisiunile pentru un fișier sau folder utilizând instrumentul ICACLS. În acest caz, comanda ICACLS nu a reușit să proceseze fișierele.

Dacă se întâmplă acest lucru:

  • Asigurați-vă că promptul de comandă care execută icacls rulează în modul „Rulați ca administrator”.
    Asigurați-vă că contul dvs. de utilizator are permisiunile necesare pentru a modifica ACL-ul obiectului.
  • Permisiunile de utilizator rezultate pentru obiect pot fi obținute folosind următoarea comandă:

“\\live.sysinternals.com\tools\accesschk64.exe” -d STARTECHTEAM\wks.admin “D:\FISIERE\FISIERE_IT”

Tip solutie

Permanent

Voteaza

(4 din 5 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?