ICACLS
(da Integrity Change Access Control Lists)
ICACLS
è uno strumento potente per gestire e modificare le autorizzazioni NTFS (controllo degli accessi) su file e cartelle. È stato introdotto in Windows Vista per sostituire il comando CACLSCACLS ed offre funzionalità più avanzate: in particolare, la possibilità di gestire i livelli di integrità.
Sintassi per archiviare le DACL (liste di controllo di accesso discrezionale) per i file e le cartelle corrispondenti a quelli specificati per consentirne un successivo utilizzo con /RESTORE
, senza salvare i proprietari, le etichette di integrità e le SACL (liste di controllo di accesso di sicurezza):
ICACLS nomi /SAVE file_acl [/T] [/C] [/L] [/Q]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle di cui si vogliono salvare le DACL./SAVE file_acl
- Specifica il nome del file nel quale archiviare le DACL associate anomi
.
Sintassi per applicare le DACL archiviate ai file e alle sottocartelle contenuti nella cartella specificata:
ICACLS cartella [/SUBSTITUTE vecchio_sid nuovo_sid [...]] /RESTORE file_acl [/C] [/L] [/Q]
Dove (vedi sotto):
cartella
- Specifica la cartella ai cui file e sottocartelle si vogliono applicare le DACL archiviate./SUBSTITUTE vecchio_sid nuovo_sid [...]
- Sostituisce i file o le cartelle con l'ID di sicurezzavecchio_sid
connuovo_sid
./RESTORE file_acl
- Specifica il nome del file nel quale sono state archiviate le DACL.
Sintassi per cambiare il proprietario per i nomi corrispondenti, senza forzare la modifica del proprietario:
ICACLS nomi /SETOWNER utente [/T] [/C] [/L] [/Q]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle di cui si vuole modificare il proprietario./SETOWNER utente
- Specifica il nome utente del nuovo proprietario.
Sintassi per trovare tutti i nomi corrispondenti che contengono un'ACL (lista di controllo di accesso) associata a un SID (ID di sicurezza) specificato:
ICACLS nomi /FINDSID sid [/T] [/C] [/L] [/Q]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle di cui da analizzare./FINDSID sid
- Specifica il SID di cui si vuole ottenere l'ACL.
Sintassi per trovare tutti i file le cui ACL non sono in forma canonica o le cui lunghezze non sono coerenti con il numero delle voci di controllo di accesso:
ICACLS nomi /VERIFY [/T] [/C] [/L] [/Q]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle per i quali eseguire l'operazione.
Sintassi per ripristinare gli ACL ereditati predefiniti in tutti i file corrispondenti.
ICACLS nomi /RESET [/T] [/C] [/L] [/Q]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle per i quali eseguire l'operazione.
Sintassi per impostare o cambiare i diritti di accesso (ovvero i permessi o le autorizzazioni) per i file specificati:
ICACLS nomi [/GRANT[:R] sid:perm [...]] [/DENY sid:perm [...]] [/REMOVE[:G|:D] sid [...]] [/T] [/C] [/L] [/Q] [/SETINTEGRITYLEVEL [(CI)][(OI)]livello] [/INHERITANCE{:E|:D|:R}]
Dove (vedi sotto):
nomi
- Specifica uno o più file o cartelle per i quali manipolare i diritti di accesso./GRANT[:R] sid:perm [...]
- Specifica uno o più ID di sicurezza associati agli utenti e i relativi permessi da concedere nell'ACL. Con:R
, le autorizzazioni sostituiscono tutte quelle concesse in precedenza. Di default, i nuovi permessi si aggiungono ai precedenti./DENY sid:perm [...]
- Specifica uno o più ID di sicurezza associati agli utenti e i relativi permessi da negare. All'autorizzazione negata è associata una voce di controllo di accesso specifica (non è cioè una semplice assenza di permesso)./REMOVE[:G|:D] sid [...]
- Specifica uno o più ID di sicurezza associati agli utenti di cui si vogliono annullare tutti i permessi nell'ACL.:G
si riferisce ai permessi concessi e:D
ai permessi negati./SETINTEGRITYLEVEL [(CI)][(OI)]livello
- Aggiunge una voce di controllo di accesso di integrità a tutti i file corrispondenti. Al posto di livello specificare:L
- Basso (low);M
- Medio (medium);H
- Alto (high).
(CI)
e(OI)
sono opzioni che permettono di cambiare il tipo di ereditarietà delle cartelle./INHERITANCE{:E|:D|:R}
- Specifica se tenere conto dell'ereditarietà delle cartelle nell'operazione.:E
- Abilita l'ereditarietà;:D
- Disabilita l'ereditarietà, copiando quindi le voci di controllo di accesso;:R
- Rimuove tutte le voci di controllo di accesso ereditate.
Per tutte le funzioni di ICACLS
, il SID può essere espresso in forma numerica o come nome. Se si utilizza la forma numerica, sarà necessario un asterisco *
all'inizio del SID. Inoltre:
/T
- Estende l'operazione su tutti i file e le sottocartelle contenute nelle cartelle specificate./C
- Continua l'operazione anche in caso di errori, che verranno comunque visualizzati./L
- Esegue l'operazione sul collegamento simbolico anziché sul file o sulla cartella a cui si riferisce./Q
- Nasconde i messaggi relativi alle operazioni riuscite.perm
- È una maschera di autorizzazione che può essere specificata in due modi diversi.
Sequenza di diritti d'accesso semplici (autorizzazioni di base):N
- Nessun permesso;F
- Accesso completo;M
- Permesso di modifica;RX
- Permesso di lettura ed esecuzione;R
- Permesso di lettura;W
- Permesso di scrittura;D
- Permesso di eliminazione.
DE
- Eliminazione;RC
- Lettura DAC (controlli d'accesso discrezionali, cioè può leggere i permessi);WDAC
- Scrittura DAC (può cambiare i permessi);WO
- Proprietario scrittura (diventa proprietario);S
- Sincronizzazione;AS
- Sicurezza sistema di accesso;MA
- Diritti massimi concedibili;GR
- Lettura generica;GW
- Scrittura generica;GE
- Esecuzione generica;GA
- Tutti i diritti d'accesso generici;RD
- Lettura dati/elenco cartelle;WD
- Scrittura dati/aggiunta di file;AD
- Aggiunta dati/aggiunta di sottocartelle;REA
- Lettura attributi estesi;WEA
- Scrittura attributi estesi;X
- Esecuzione/transito (quest'ultimo è il diritto di attraversare/aprire la cartella);DC
- Eliminazione figli (cioè eliminazione di sottocartelle e file, se gli attributi di questi lo permettono);RA
- Lettura attributi;WA
- Scrittura attributi.
(OI)
- Ereditarietà oggetto: gli oggetti in questo contenitore erediteranno questa voce di controllo d'accesso;(CI)
- Ereditarietà contenitore: i contenitori all'interno di questo contenitore erediteranno questa voce di controllo d'accesso;(IO)
- Solo ereditarietà: le voci di controllo d'accesso sono ereditate dal contenitore genitore, ma non sono applicate all'oggetto stesso;(NP)
- Non propagare ereditarietà: le voci di controllo d'accesso per i contenitori e gli oggetti sono ereditate dal contenitore genitore, ma non si propagano ai contenitori nidificati;(I)
- Autorizzazione ereditata da contenitore genitore.
Notare che il comando mantiene l'ordinamento canonico delle voci di controllo di accesso: negazioni esplicite, permessi espliciti, negazioni ereditate, permessi ereditati.
Esempi:
1. Salva nel file pippo9
le ACL per tutti i file nel percorso C:\mozica
e nelle relative sottocartelle.
icacls C:\mozica\* /save pippo9 /t
2. Ripristina le ACL per i file specificati in pippo9
ed esistenti in C:\mozica
e nelle sottocartelle.
icacls c:\mozica\ /restore pippo9
3. Concede all'utente MegadirettoreGalattico
i diritti di scrittura DAC e di eliminazione per il file megaditta.txt
.
icacls megaditta.txt /grant MegadirettoreGalattico:(DE,WDAC)
Approfondimento:
È possibile trovare velocemente il proprio nome utente dalla variabile d'ambiente USERNAME
(vedi ECHOECHO):
echo %username%
Commenti