icacls

Visualizza o modifica gli elenchi di controllo di accesso discrezionali (DACL) nei file specificati e applica gli elenchi DACL archiviati ai file nelle directory specificate.

Nota

Questo comando sostituisce il comando cacls deprecato.

Sintassi

icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]

Parametri

Parametro Descrizione
<filename> Specifica il file per il quale visualizzare o modificare le licenze livello dati.
<directory> Specifica la directory per cui visualizzare o modificare le licenze livello dati.
/t Esegue l'operazione su tutti i file specificati nella directory corrente e nelle relative sottodirectory.
/c L'operazione continuerà nonostante eventuali errori nel file. Verranno ancora visualizzati messaggi di errore.
/l Esegue l'operazione su un collegamento simbolico anziché sulla relativa destinazione.
/q Elimina i messaggi di esito positivo.
[/salva <ACLfile> [/t] [/c] [/l] [/q]] Archivia daCLs per tutti i file corrispondenti in un file ACL (Access Control List) per un uso successivo con /restore.
[/setowner <username> [/t] [/c] [/l] [/q]] Modifica il proprietario di tutti i file corrispondenti all'utente specificato.
[/findsid <sid> [/t] [/c] [/l] [/q]] Trova tutti i file corrispondenti che contengono un DACL citare in modo esplicito l'identificatore specificato di sicurezza (SID).
[/ verificare [/t] [/c] [/l] [/q]] Trova tutti i file con ACL non canonici o con lunghezze incoerenti ai conteggi delle voci di controllo di accesso (ACE).
[/Reset [/t] [/c] [/l] [/q]] Sostituisce gli ACL predefinito ereditata ACL per tutti i file corrispondenti.
[/grant[:r] <sid>:<perm>[...]] Concede specificato diritti di accesso utente. Autorizzazioni di sostituiscono le autorizzazioni precedentemente concesse esplicite.

Non aggiungendo :r, significa che le autorizzazioni vengono aggiunte a qualsiasi autorizzazione esplicita concessa in precedenza.

[/deny <sid>:<perm>[...]] Nega in modo esplicito i diritti di accesso utente specificato. L'impostazione esplicita Nega ACE viene aggiunto per le autorizzazioni indicate e vengono rimosse le stesse autorizzazioni in qualsiasi autorizzazione esplicita.
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/q] [/q] Rimuove tutte le occorrenze del SID specificato dall'elenco DACL. Questo comando può anche usare:
  • :g - Rimuove tutte le occorrenze dei diritti concessi al SID specificato.
  • :d: rimuove tutte le occorrenze dei diritti negati al SID specificato.
[/setintegritylevel [(CI)(OI)] <Level>:<Policy>[...]] Aggiunge una voce ACE di integrità in modo esplicito per tutti i file corrispondenti. Il livello può essere specificato come:
  • l - Basso
  • m- Medio
  • h - Alta
Opzioni di ereditarietà per l'integrità ACE possono precedere il livello e vengono applicate solo alla directory.
[/sostituzione <sidnew><> [...]] Sostituisce un SID esistente (sidold) con un nuovo SID (sidnew). Richiede l'uso con il <directory> parametro .
/restore <ACLfile> [/c] [/l] [/q] Applica da ACL archiviati da <ACLfile> a file nella directory specificata. Richiede l'uso con il <directory> parametro .
/inheritancelevel: [e | d | r] Imposta il livello di ereditarietà, che può essere:
  • e - Abilita l'ereditarietà
  • d - Disabilita l'ereditarietà e copia gli ACL
  • r - Disabilita l'ereditarietà e rimuove solo gli ACL ereditati

Osservazioni:

  • SID potrebbero essere in qualsiasi formato di nome descrittivo o numerici. Se si utilizza un formato numerico, apporre il carattere jolly * all'inizio del SID.

  • Questo comando mantiene l'ordine canonico delle voci ACE come:

    • Negazioni esplicite

    • Concede l'esplicita

    • Rifiuti ereditati

    • Concede ereditati

  • L'opzione <perm> è una maschera di autorizzazione che può essere specificata in uno dei formati seguenti:

    • Sequenza di diritti semplici (autorizzazioni di base):

      • F - Accesso completo

      • M- Modificare l'accesso

      • RX - Accesso in lettura ed esecuzione

      • R - Accesso in sola lettura

      • W - Accesso in sola scrittura

    • Elenco delimitato da virgole tra parentesi di diritti specifici (autorizzazioni avanzate):

      • D - Eliminazione

      • RC - Controllo di lettura (autorizzazioni di lettura)

      • WDAC - Applicazione livello dati di scrittura (modifica delle autorizzazioni)

      • WO - Proprietario scrittura (acquisizione della proprietà)

      • S - Sincronizza

      • AS - Sicurezza del sistema di accesso

      • MA - Numero massimo consentito

      • Archiviazione con ridondanza geografica - Lettura generica

      • GW - Scrittura generica

      • GE - Esecuzione generica

      • GA - Generic all

      • Rd - Lettura della directory di dati/elenco

      • WD - Scrivere dati/aggiungere file

      • AD - Aggiungere dati/aggiungere sottodirectory

      • REA - Lettura degli attributi estesi

      • WEA - Scrivere attributi estesi

      • X - Esecuzione/attraversamento

      • DC - Elimina figlio

      • Ra - Leggere gli attributi

      • WA - Scrivere attributi

    • I diritti di ereditarietà possono precedere una delle due <perm> forme seguenti:

      • (I) - Eredita. ACE ereditato dal contenitore padre.

      • (OI) - L'oggetto eredita. Gli oggetti in questo contenitore erediteranno l'ace. Si applica solo alle directory.

      • (CI) - Eredita dal contenitore. I contenitori in questo contenitore padre erediteranno questa ace. Si applica solo alle directory.

      • (I/O) - Eredita solo. ACE ereditato dal contenitore padre, ma non si applica all'oggetto stesso. Si applica solo alle directory.

      • (NP) - Non propagare l'ereditarietà. ACE ereditato da contenitori e oggetti dal contenitore padre, ma non viene propagato ai contenitori annidati. Si applica solo alle directory.

Esempi

Per salvare il DACL per tutti i file nella directory C:\Windows e nelle relative sottodirectory al file ACLFile, digitare:

icacls c:\windows\* /save aclfile /t

Per ripristinare il DACL per ogni file all'interno di ACLFile presente nella directory C:\Windows e nelle relative sottodirectory, digitare:

icacls c:\windows\ /restore aclfile

Per concedere all'utente le autorizzazioni di eliminazione e scrittura dell'applicazione livello dati User1 a un file denominato Test1, digitare:

icacls test1 /grant User1:(d,wdac)

Per concedere all'utente definito da SID S-1-1-0 le autorizzazioni delete and Write DAC per un file, denominato Test2, digitare:

icacls test2 /grant *S-1-1-0:(d,wdac)