Condividi tramite


icacls

Visualizza o modifica gli elenchi di controllo di accesso discrezionale (DACL) nei file specificati e applica elenchi di controllo di accesso discrezionali 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
<nome file> 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 Continua l'operazione nonostante eventuali errori di file. Verranno comunque visualizzati i messaggi di errore.
/l Esegue l'operazione su un collegamento simbolico anziché sulla relativa destinazione.
/q Elimina i messaggi di operazione riuscita.
[/save <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 <nome utente> [/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 in modo esplicito che indica l'identificatore di sicurezza (SID) specificato.
[/verify [/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 con ACL ereditati predefiniti per tutti i file corrispondenti.
[/grant[:r] <sid>:<perm>[...]] Concede i diritti di accesso utente specificati. Le autorizzazioni sostituiscono autorizzazioni esplicite concesse in precedenza.

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

[/deny <sid>:<perm>[...]] Nega esplicitamente i diritti di accesso utente specificati. Viene aggiunto un ace di rifiuto esplicito per le autorizzazioni dichiarate e le stesse autorizzazioni in qualsiasi concessione esplicita vengono rimosse.
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/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 in modo esplicito un ace di integrità a tutti i file corrispondenti. Il livello può essere specificato come:
  • l - Bassa
  • m- Medio
  • h - Alta
Le opzioni di ereditarietà per l'integrità ACE possono precedere il livello e vengono applicate solo alle directory.
[/substitute <sidold><sidnew> [...]] Sostituisce un SID esistente (sidold) con un nuovo SID (sidnew). Richiede l'uso con il parametro <directory>.
/restore <ACLfile> [/c] [/l] [/q] Applica da <ACLfile> a file nella directory specificata gli elenchi di applicazione livello dati archiviati. Richiede l'uso con il parametro <directory>.
/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:

  • I SID possono essere in formato numerico o descrittivo. Se si utilizza una forma numerica, affissi il carattere jolly * all'inizio del SID.

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

    • Negazioni esplicite

    • Concessioni esplicite

    • Negazioni ereditate

    • Concessioni ereditate

  • 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 - Elimina

      • RC - Controllo di lettura (autorizzazioni di lettura)

      • WDAC - Scrittura dell'applicazione livello dati (autorizzazioni di modifica)

      • WO - Proprietario della scrittura (assumere la proprietà)

      • S - Sincronizza

      • AS - Sicurezza del sistema di accesso

      • MA - Massimo consentito

      • gr - Lettura generica

      • GW - Scrittura generica

      • GE - Esecuzione generica

      • ga - Generic all

      • Desktop remoto - Leggere la directory 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 - Eliminare un figlio

      • ra - Leggere gli attributi

      • WA - Scrivere attributi

    • I diritti di ereditarietà possono precedere <perm> forma:

      • (I) : eredita. ACE ereditato dal contenitore padre.

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

      • di (CI): eredita il contenitore. I contenitori in questo contenitore padre erediteranno questa ace. Si applica solo alle directory.

      • di (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 i file DACL per tutti i file nella directory C:\Windows e nelle relative sottodirectory nel file ACLFile, digitare:

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

Per ripristinare gli elenchi di controllo dati per ogni file all'interno di ACLFile esistente 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)