Come impostare o ripristinare le autorizzazioni NTFS di un file o una cartella con il comando icacls

icalcs

In questo articolo, impareremo come impostare o ripristinare le autorizzazioni NTFS di un file o una cartella in un sistema operativo Windows, con il comando icacls.

Può accadere che, in alcuni casi, possiamo perdere di vista i permessi di file o directory, e quando proviamo ad accedere a un file specifico non abbiamo alcun risultato perché non abbiamo i diritti per farlo.
Oppure potremmo dover eseguire un software che, per il problema dell’autorizzazione, non funziona come dovrebbe.

Potrebbe anche essere necessario accedere a un file proveniente da un vecchio backup o da un altro computer ed è stato quindi creato con un utente diverso; anche in questo caso, non sarà possibile accedervi.

In tutti questi casi, il comando Icacls viene in aiuto.

Che cos’è Icacls?

Icacls è il sostituto di cacls (Change Access Control Lists), un’utilità da riga di comando che consente di mostrare ed eseguire alcune operazioni su ACL per file o directory.

ACL (Access Control List) è un elenco di autorizzazioni per un oggetto filesystem e definisce come la sua sicurezza è controllata gestendo chi e come è possibile accedervi.

In realtà, le operazioni su ACL non sono le uniche possibili con questo strumento.
Ciò che lo rende un potente strumento è anche la possibilità di eseguire operazioni di backup e ripristino su ACL per file o directory, o per cercare i file che hanno un utente specifico come proprietario.
E inoltre, nel caso in cui un ACL sia danneggiato o distrutto, con icacls è possibile ripristinarlo ripristinandolo e impostando le autorizzazioni predefinite o ereditando quelle del genitore.

Icacls: le funzioni reset e grant

Reset

Icacls è un comando nativo di Windows che viene eseguito su Windows Vista, Windows 7, Windows 8 e Windows 10.
Immagina di avere un disco rigido esterno su cui è stato memorizzato uno studio effettuato nel 2018 e vogliamo recuperarlo, ma non abbiamo il controllo completo.

Non appena proviamo ad aprire la cartella, avremo il seguente messaggio di avviso.

openfolder deny

Una soluzione è, quindi, utilizzare la funzione di reset di Icacls.
Ma prestare attenzione ai seguenti passaggi.

Apriamo il terminale di comando in modalità amministratore.

 prompt dei comandi

Passiamo alla cartella e digitiamo il comando reset come segue:

 $> icacls * /t /q /c /reset

E ancora, avremo “L’accesso è negato” come risposta.

reset e noaccess

dobbiamo, pertanto, prima di diventare proprietario della cartella con il comando takeown:

$> takeown / R / F *

takeown autorizzazione

fare clic su Sì, sarà ora necessario un reset di ACL, e l’autorizzazione dello stato sarà come segue:

advanced security settings

Grant

Ora, immaginate di essere nella seguente situazione:

altre impostazioni di sicurezza avanzate

Solo l’utente il nome di Pietro ha accesso alla cartella, e vogliamo dare sovvenzioni anche per federica utente.

Con il comando precedente, si può diventare il proprietario della cartella

$> takeown / R / F *

e quindi digitare il seguente comando:

$> icacls "E:\Study2018" /t /grant:F

In questo caso, ho inserito le opzioni /t, che significa ricorsiva, e F, che significa “accesso completo” per l’utente a cui vogliamo dare sovvenzioni.

concedere l'accesso completo

Per ulteriori opzioni, consultare la pagina ufficiale.

Altre funzioni icacls

Se è necessario salvare ACL in un file per un successivo ripristino, è possibile farlo utilizzando un paio di comandi “salva e ripristina”.
Un’operazione molto semplice da un punto di vista: le informazioni sulle ACL vengono salvate in un file che può essere utilizzato in caso di necessità di ripristinare una situazione precedente.
Tuttavia, va notato che i dati sui diritti di accesso, specialmente nelle cartelle condivise, possono essere molto variabili nel tempo.
Potremmo quindi trovarci in una situazione in cui stiamo per ripristinare una situazione diversa dalla realtà o addirittura incoerente.
Inoltre, il file che viene creato, apribile e leggibile con un editor di testo comune, sembra essere un testo Unicode.
Ma attenzione, perché non lo è.

Aprire il file e salvarlo con alcune modifiche lo renderà inutilizzabile nelle operazioni di ripristino.

La coppia di comandi “salva e ripristina” è la seguente:

icacls FILE_O_DIRECTORY /save aclfile /t

icacls DIRECTORY /ripristina aclfile

Noterai immediatamente una differenza tra i due comandi.

Il comando save può essere eseguito sia su file che su directory (FILE_O_O_DIRECTORY deve essere sostituito con il nome del file o della directory per cui vogliamo salvare l’ACL).

Mentre il comando restore funziona solo sulle directory.

Un esempio di utilizzo è il seguente:

E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile

Come puoi vedere, nel caso del comando restore non useremo filediprova.txt ma la directory in cui è contenuto.

Conclusioni

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.