Come resettare i permessi NTFS con ICACLS

Esegui icacls "percorso" /reset /C /Q per ripristinare i permessi NTFS ereditati e cancellare le sovrascritture ACL danneggiate; aggiungi /T per applicare il reset in modo ricorsivo a un intero albero di cartelle. Se compare “Access is denied” anche come Administrator, assumi prima la proprietà con takeown /F "percorso" /R /D Y, poi riprova il reset. I SID orfani e i file che diventano irraggiungibili dopo il reset sono i due effetti collaterali più comuni, entrambi legati al modo in cui l’ereditarietà viene ripristinata dalla cartella padre. Prima di resettare directory di sistema o condivise, esegui un backup dell’albero ACL con icacls "percorso" /save acl_backup.txt /T – potrà essere ripristinato in seguito con /restore dalla directory padre del percorso salvato.

I permessi su file e cartelle sono un elemento critico negli ambienti Windows. Una ACL configurata male – che sia dovuta a una migrazione andata storta, a uno script difettoso o a una modifica manuale accidentale – può impedire il corretto funzionamento del software, bloccare l’accesso degli utenti ai propri dati o, nei casi peggiori, causare comportamenti anomali in alcune parti del sistema operativo.

Il comando integrato ICACLS è lo strumento giusto per risolvere rapidamente queste situazioni, direttamente da riga di comando, senza passare dalla GUI. Funziona su tutte le versioni moderne di Windows e Windows Server.

Se gestisci anche i limiti di storage sugli stessi volumi, consulta la nostra guida su come configurare le quote NTFS per gli utenti.

Capire i flag

Prima di eseguire qualsiasi comando, è utile sapere cosa fa ciascun flag:

  • /RESET: sostituisce le voci ACL esplicite sul target con quelle ereditate dalla cartella padre. Non applica nuovi permessi: rimuove semplicemente le sovrascritture e ripristina l’ereditarietà.
  • /T: attraversa ricorsivamente tutte le sottocartelle e i file.
  • /C : prosegue l’elaborazione anche in presenza di errori di accesso negato su singoli file.
  • /Q: sopprime i messaggi di successo, mantenendo l’output pulito.

Per il riferimento completo alla sintassi, consulta la documentazione ufficiale di ICACLS su Microsoft Learn.

Caso d’uso 1: reset di una singola cartella (non ricorsivo)

Quando solo una cartella ha permessi danneggiati e il suo contenuto non è interessato, puoi agire direttamente su di essa senza /T:

icacls "C:\Path\To\Folder" /reset /C /Q

Questo comando ripristina solo la ACL della cartella stessa, lasciando invariati sottocartelle e file.

Caso d’uso 2: reset ricorsivo

Per ripristinare i permessi di una cartella e di tutto il suo contenuto – inclusa la cartella stessa – ometti il carattere jolly e lascia che sia /T a gestire la ricorsione:

icacls "C:\Path\To\Folder" /T /C /Q /reset

Usa la variante con carattere jolly (\*) solo se vuoi intenzionalmente escludere il reset della ACL della cartella radice.

Caso d’uso 3: reset dei permessi e assunzione della proprietà

A volte una ACL danneggiata blocca anche l’account Administrator corrente, causando errori Access is denied da parte di ICACLS anche in esecuzione elevata. In questo caso, assumi prima la proprietà dell’intero albero:

takeown /F "C:\Path\To\Folder" /R /D Y
icacls "C:\Path\To\Folder" /T /C /Q /reset

Il flag /R rende takeown ricorsivo; /D Y conferma automaticamente il prompt su ogni elemento. Dopo aver assunto la proprietà, ICACLS avrà l’accesso necessario per riscrivere le ACL.

Errori comuni

“Access is denied” anche come Administrator L’account che esegue il comando non è il proprietario e gli è stato esplicitamente negato l’accesso. Esegui prima la sequenza takeown indicata sopra prima di riprovare con ICACLS.

“No mapping between account names and security IDs” La ACL contiene SID orfani – riferimenti ad account eliminati o rimossi dal dominio. È innocuo: /RESET li cancellerà insieme a tutte le altre voci esplicite.

I file diventano inaccessibili dopo il reset /RESET rimuove i permessi espliciti e ripristina l’ereditarietà. Se la cartella padre non ha permessi configurati correttamente, il contenuto non erediterà nulla e diventerà irraggiungibile. Prima di eseguire un reset ricorsivo, controlla la ACL della cartella padre con:

icacls "C:\Path\To\Folder"

Verifica che BUILTIN\Administrators e SYSTEM compaiano con (F) (Full Control) prima di procedere.

Un avvertimento

Non eseguire mai un reset ricorsivo di ICACLS su directory di sistema come C:\Windows o C:\Program Files. Ripristinare i permessi ereditati in questi alberi può danneggiare componenti di sistema, servizi o software installati. Agisci sempre su directory specifiche di dati utente o applicazioni e, in caso di dubbio, esegui prima un backup delle ACL esistenti con:

icacls "C:\Path\To\Folder" /save acl_backup.txt /T

Questo salva l’albero delle ACL correnti in un file che può essere ripristinato in seguito con /restore, se necessario.

Tieni presente che /save memorizza i percorsi in forma relativa. Per ripristinare, esegui il comando /restore dalla directory padre del percorso salvato:

icacls "C:\Path\To" /restore acl_backup.txt

Frequently Asked Questions

/RESET di ICACLS applica nuovi permessi o si limita a rimuovere quelli vecchi?

Non concede alcun nuovo permesso. /RESET si limita a eliminare le voci ACL esplicite dal target e a ripristinare ciò che la cartella padre trasmette tramite ereditarietà. Se la ACL della cartella padre è errata o incompleta, il reset non risolverà il problema, ma lo propagherà semplicemente verso il basso.

Perché ICACLS continua a restituire “Access is denied” anche se sto eseguendo il comando come Administrator?

Essere amministratore non ti rende automaticamente proprietario di un file o di una cartella. Se il proprietario attuale o una voce di negazione esplicita blocca l’accesso, l’elevazione dei privilegi da sola non basta. Esegui prima takeown /F “percorso” /R /D Y per assumere la proprietà dell’albero, poi riprova con ICACLS.

È sicuro eseguire un reset ricorsivo di ICACLS su cartelle di sistema come C:\Windows?

No, è da evitare. Ripristinare i permessi ereditati all’interno di directory di sistema come C:\Windows o C:\Program Files può danneggiare software installati, servizi o componenti principali del sistema operativo. Riserva i reset ricorsivi a cartelle di dati utente o applicazioni ed esegui sempre un backup con /save prima, nel caso servisse ripristinare.

Read related articles