icacls

Consente di visualizzare o modificare elenchi di controllo di accesso discrezionale (DACL) nei file specificati e di applicare daCL archiviati ai file nelle directory specificate.

Note

Questo comando sostituisce il comando cacls obsoleto.

Syntax

icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Parameters

Parameter Description
<name> 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 anche se si verificano errori di file. I messaggi di errore vengono comunque visualizzati.
/l Esegue l'operazione su un collegamento simbolico anziché sulla relativa destinazione.
/q Elimina i messaggi di operazione riuscita.
/save <ACLfile> Archivia le licenze DACL per tutti i file corrispondenti in un file di elenco di controllo di accesso (ACL) per un uso successivo con /restore.
/setowner <user> Modifica il proprietario di tutti i file corrispondenti all'utente specificato.
/findsid <sid> Trova tutti i file corrispondenti che contengono un DACL in modo esplicito che indica l'identificatore di sicurezza (SID) specificato.
/verify Trova tutti i file con ACL che non sono canonici o hanno lunghezze incoerenti ai conteggi delle voci di controllo di accesso (ACE).
/reset 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 aggiungere :r significa che i permessi vengono aggiunti a qualsiasi permesso esplicito precedentemente concesso.
/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> Rimuove tutte le occorrenze del SID specificato dall'elenco DACL. Questo comando può anche usare:

  • g - Rimuove tutte le occorrenze di diritti concessi al SID specificato
  • d - Elimina tutte le ocasioni di negazione dei diritti al SID specificato
  • /setintegritylevel <perm><level> Aggiunge in modo esplicito un ace di integrità a tutti i file corrispondenti. Il livello può essere specificato come:

  • L - Basso
  • m - Medio
  • h - Alto

  • Le opzioni di ereditarietà per l'integrità ACE possono precedere il livello e vengono applicate solo alle directory.
    /substitute <sidold> <sidnew> Sostituisce un SID (sidold) esistente 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 - Consente l'ereditarietà
  • d - Disabilita l'eredità e copia degli ACE
  • r - Disabilita l'eredità e rimuove solo gli ACE ereditati
  • Remarks

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

      • Explicit denials

      • Explicit grants

      • Inherited denials

      • Inherited grants

    • L'opzione <perm> è una maschera di autorizzazione che può essere specificata per diritti di base, diritti avanzati o diritti di ereditarietà:

      • Sequenza di diritti semplici (autorizzazioni di base) senza la necessità di usare le parentesi:

        • N - Nessun accesso
        • F - Accesso completo
        • M - Modifica l'accesso
        • RX - Accesso per lettura ed esecuzione
        • R - Accesso di sola lettura
        • W - Accesso solo scrittura
        • D - Elimina l'accesso
      • Elenco delimitato da virgole di diritti specifici (autorizzazioni avanzate) che devono usare parentesi:

        • DE - Elimina
        • RC - Controllo di lettura (permessi di lettura)
        • WDAC - Scrivi DAC (modifica permessi)
        • WO - Write owner (prendere la proprietà)
        • S - Sincronizza
        • AS - Sicurezza dei sistemi di accesso
        • MA - Massimo consentito
        • GR - Lettura generica
        • GW - Scrittura generica
        • GE - Generic execute
        • GA - Generico per tutti
        • RD - Leggi la directory dati/lista
        • WD - Scrivi dati/aggiungi file
        • AD - Aggiungi dati/aggiungi sottodirectory
        • REA - Leggi gli attributi estesi
        • WEA - Scrivere attributi estesi
        • X - Eseguire/attraversare
        • DC - Elimina figlio
        • RA - Attributi di lettura
        • WA - Attributi di scrittura
      • Sequenza di diritti di ereditarietà che devono usare parentesi:

        • (I) - Ereditare. ACE ereditato dal contenitore padre.
        • (OI) - Ereditare oggetto. Gli oggetti in questo contenitore ereditano questo ace. Si applica solo alle directory.
        • (CI) - Erede del contenitore. I contenitori in questo contenitore padre ereditano questa ace. Si applica solo alle directory.
        • (IO) - Solo ereditare. ACE ereditato dal contenitore padre, ma non si applica all'oggetto stesso. Si applica solo alle directory.
        • (NP) - Non propagare erede. ACE ereditato da contenitori e oggetti dal contenitore padre, ma non viene propagato ai contenitori annidati. Si applica solo alle directory.

    Examples

    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 TestFile, digitare:

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

    Per applicare un alto livello di integrità a una directory e garantire che sia i suoi file che le sottodirectory ereditino questo livello, digitare:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H