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:
|
[/setintegritylevel [(CI)(OI)] <Level>:<Policy>[...]] | Aggiunge in modo esplicito un ace di integrità a tutti i file corrispondenti. Il livello può essere specificato come:
|
[/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:
|
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)