Condividi tramite


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

This command replaces the deprecated cacls command.

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.
/salvare <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. Not adding :r means that permissions are added to any previously granted explicit permissions.
/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 - Removes all occurrences of granted rights to the specified SID
  • d - Removes all occurrences of denied rights to the specified SID
  • /setintegritylevel <perm><level> Aggiunge in modo esplicito un ace di integrità a tutti i file corrispondenti. Il livello può essere specificato come:

  • l - Low
  • m - Medium
  • h - High

  • Le opzioni di ereditarietà per l'integrità ACE possono precedere il livello e vengono applicate solo alle directory.
    /sostituto <sidold><sidnew> Replaces an existing SID (sidold) with a new 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 - Enables inheritance
  • d - Disables inheritance and copies the ACEs
  • r - Disables inheritance and removes only inherited ACEs
  • 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 - No access
        • F - Full access
        • M - Modify access
        • RX - Read and execute access
        • R - Read-only access
        • W - Write-only access
        • D - Delete access
      • Elenco delimitato da virgole di diritti specifici (autorizzazioni avanzate) che devono usare parentesi:

        • DE - Delete
        • RC - Read control (read permissions)
        • WDAC - Write DAC (change permissions)
        • WO - Write owner (take ownership)
        • S - Synchronize
        • AS - Access system security
        • MA - Maximum allowed
        • GR - Generic read
        • GW - Generic write
        • GE - Generic execute
        • GA - Generic all
        • RD - Read data/list directory
        • WD - Write data/add file
        • AD - Append data/add subdirectory
        • REA - Read extended attributes
        • WEA - Write extended attributes
        • X - Execute/traverse
        • DC - Delete child
        • RA - Read attributes
        • WA - Write attributes
      • Sequenza di diritti di ereditarietà che devono usare parentesi:

        • (I) - Inherit. ACE ereditato dal contenitore padre.
        • (OI) - Object inherit. Gli oggetti in questo contenitore ereditano questo ace. Si applica solo alle directory.
        • (CI) - Container inherit. I contenitori in questo contenitore padre ereditano questa ace. Si applica solo alle directory.
        • (IO) - Inherit only. ACE ereditato dal contenitore padre, ma non si applica all'oggetto stesso. Si applica solo alle directory.
        • (NP) - Don't propagate inherit. 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)
    

    To apply a high integrity level to a directory and ensure that both its files and subdirectories inherit this level, type:

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