esempi di scripting icacls (win2k8)
Dopo cacls, xcacls.vbs, ora abbiamo icacls per impostare i permessi di file e cartelle.
Ecco alcuni esempi pratici.
Crea un mucchio di directory
md d:\appsmd d:\profilesmd d:\users
Condividi le directory. Notate il caching offline; gli utenti sono autorizzati ad abilitare il caching offline per le loro homedir, le altre directory sono disabilitate per il caching offline.
net share apps=d:\apps /grant:everyone,FULL /CACHE:Nonenet share profiles=d:\profiles /grant:everyone,FULL /CACHE:Nonenet share users=d:\users /grant:everyone,FULL /CACHE:Manual
Ora scriviamo i permessi ntfs per la condivisione delle apps:
– “(OI)(CI):F” significa Controllo completo “Questa cartella, sottocartelle e file”
– “(OI)(CI):M” significa modificare “Questa cartella, sottocartelle e file”
– “/inheritance:r” significa rimuovere tutte le ACL ereditate dal genitore
(OI) Questa cartella e file
(CI) Questa cartella e sottocartelle.
(OI)(CI) Questa cartella, sottocartelle e file.
(OI)(CI)(IO) Solo sottocartelle e file.
(CI)(IO) Solo sottocartelle.
(OI)(IO) Solo file.
e le possibilità di permesso
perm è una maschera di permesso e può essere specificata in una delle due forme:
una sequenza di diritti semplici:
N – nessun accesso
F – accesso completo
M – accesso alla modifica
RX – accesso in lettura ed esecuzione
R – accesso in sola lettura
W – accesso in sola scrittura
D – accesso alla cancellazione
un elenco separato da virgole tra parentesi di diritti specifici:
DE – cancellazione
RC – controllo lettura
WDAC – scrittura DAC
WO – scrittura proprietario
S – sincronizzazione
AS – accesso sicurezza sistema
MA – massimo consentito
GR – lettura generica
GW – scrittura generica
GE – esecuzione generica
GA – tutti generici
RD – lettura dati/elenco directory
WD – scrittura dati/aggiunta file
AD – aggiunta dati/aggiunta sottodirectory
REA – leggi attributi estesi
WEA – scrivi attributi estesi
X – esegui/traversa
DC – cancella figlio
RA – leggi attributi
WA – scrivere attributi
Qui la descrizione di tutte le possibili autorizzazioni NTFS
Permissione | Descrizione |
---|---|
Traversa cartella/esegui file |
Per cartelle: Traverse Folder permette o nega lo spostamento attraverso le cartelle per raggiungere altri file o cartelle, anche se l’utente non ha permessi per le cartelle attraversate. (Si applica solo alle cartelle.) Traverse folder ha effetto solo quando al gruppo o all’utente non è concesso il diritto di bypassare la traversata controllando l’utente nello snap-in Criteri di gruppo. (Per impostazione predefinita, il gruppo Everyone ha il diritto di bypassare il controllo dell’attraversamento.) Per i file: Execute File permette o nega l’esecuzione di file di programma. (Si applica solo ai file). Impostare il permesso Traverse Folder su una cartella non imposta automaticamente il permesso Execute File su tutti i file all’interno di quella cartella. |
List Folder/Read Data |
List Folder permette o nega di visualizzare i nomi dei file e delle sottocartelle all’interno della cartella. List Folder influisce solo sul contenuto di quella cartella e non influisce sul fatto che la cartella su cui stai impostando il permesso venga elencata. (Si applica solo alle cartelle.) Leggi dati consente o nega la visualizzazione dei dati nei file. (Si applica solo ai file) |
Leggi attributi |
Permette o nega la visualizzazione degli attributi di un file o di una cartella, come quelli di sola lettura e nascosti. Gli attributi sono definiti da NTFS. |
Leggi attributi estesi |
Permette o nega la visualizzazione degli attributi estesi di un file o una cartella. Gli attributi estesi sono definiti dai programmi e possono variare a seconda del programma. |
Crea file/scrivi dati |
Crea file permette o nega la creazione di file all’interno della cartella. (Si applica solo alle cartelle). Write Data consente o nega di apportare modifiche al file e di sovrascrivere il contenuto esistente. (Si applica solo ai file.) |
Crea cartelle/Appendi dati |
Crea cartelle permette o nega la creazione di cartelle all’interno della cartella. (Si applica solo alle cartelle.) Append Data permette o nega di apportare modifiche alla fine del file ma non di cambiare, cancellare o sovrascrivere i dati esistenti. (Si applica solo ai file.) |
Write Attributes |
Permette o nega di cambiare gli attributi di un file o di una cartella, come quelli di sola lettura o nascosti. Gli attributi sono definiti da NTFS. Il permesso di scrivere gli attributi non implica la creazione o la cancellazione di file o cartelle, include solo il permesso di apportare modifiche agli attributi di un file o di una cartella. Per permettere (o negare) le operazioni di creazione o cancellazione, vedi Creare file/scrivere dati, Creare cartelle/aggiungere dati, Cancellare sottocartelle e file e Cancellare. |
Scrivi attributi estesi |
Permette o nega di cambiare gli attributi estesi di un file o una cartella. Gli attributi estesi sono definiti dai programmi e possono variare da programma a programma. Il permesso di Write Extended Attributes non implica la creazione o l’eliminazione di file o cartelle, include solo il permesso di apportare modifiche agli attributi di un file o una cartella. Per permettere (o negare) le operazioni di creazione o eliminazione, vedi Creare file/scrivere dati, Creare cartelle/aggiungere dati, Cancellare sottocartelle e file e Cancellare. |
Elimina sottocartelle e file |
Permette o nega l’eliminazione di sottocartelle e file, anche se l’autorizzazione all’eliminazione non è stata concessa sulla sottocartella o sul file. (Si applica alle cartelle.) |
Elimina |
Permette o nega l’eliminazione del file o della cartella. Se non hai il permesso di cancellare un file o una cartella, puoi comunque cancellarlo se ti è stato concesso di cancellare le sottocartelle e i file nella cartella madre. |
Permessi di lettura |
Permette o nega i permessi di lettura del file o della cartella, come Controllo completo, lettura e scrittura. |
Cambia i permessi |
Permette o nega di cambiare i permessi del file o della cartella, come Controllo completo, lettura e scrittura. |
Prendi la proprietà |
Permette o nega di prendere la proprietà del file o della cartella. Il proprietario di un file o di una cartella può sempre cambiare i permessi su di esso, indipendentemente da qualsiasi permesso esistente che protegga il file o la cartella. |
Sincronizzare |
Permette o nega a diversi thread di aspettare sull’handle del file o della cartella e sincronizzarsi con un altro thread che potrebbe segnalarlo. Questo permesso si applica solo a programmi multithreaded e multiprocesso. |
Example:
icacls "d:\apps" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\apps" /grant "everyone":(OI)(CI)M /inheritance:r
Sulla condivisione dei profili, solo agli “amministratori del dominio” dovrebbe essere permesso di entrare in tutte le “Cartelle, sottocartelle e file” (da qui il (OI)(CI):F) , tutti gli altri dovrebbero essere in grado di preparare “solo questa cartella”.
Quindi senza una combinazione di (CI) e/o (OI) significa “solo questa cartella”
icacls "d:\profiles" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\profiles" /grant "everyone":R /inheritance:r
Con la creazione di un nuovo utente, l’amministratore di dominio dovrebbe creare manualmente una cartella di profilo per l’utente e aggiungere l’utente con i diritti appropriati.
Lo stesso vale per la condivisione degli utenti che contiene le homedirectory di tutti gli utenti
icacls "d:\users" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\users" /grant "everyone":R /inheritance:r
Ora usa la tua immaginazione 🙂
.