Per un amministratore di rete Microsoft è difficile tenere traccia di tutti i cambiamenti apportati nel tempo alla struttura “logica” di un file server, molte volte si sente la necessità di disporre di uno strumento semplice e veloce che ci aiuti a capire quali siano quelle cartelle “rilevanti” che vanno ad interrompere la normale applicazione dei permessi basata sul concetto di “ereditarietà”.
Questo articolo costituisce una breve guida all'uso di NTFS Stuff v1, il prodotto di un piccolo progetto al quale ho lavorato di recente con l'aiuto di un mio collega nonché amico. Questo semplice script WSH potrà esservi di grande aiuto al fine di verificare la sussistenza delle autorizzazioni assegnate all'interno della struttura dei vostri File Server.
Per ulteriori informazioni potete visitare anche la pagina del progetto [1]
Cos'è NTFS Stuff?
NTFS Stuff è uno script WSH che ha lo scopo di generare un report grafico (in formato HTML) che metta in qualche modo in evidenza lo stato delle autorizzazioni di accesso alla struttura di un fileserver. Due distinti livelli di dettaglio offrono la possibilità di scegliere se visualizzare soltanto le informazioni relative alle cartelle “rilevanti” oppure quelle relative all’intero albero di cartelle. Oltre alle DACL di ogni singola cartella vengono riportate ulteriori informazioni quali: la data di creazione e di ultima modifica, il proprietario e lo stato dell’ereditarietà.
Abbiamo prestato particolare attenzione alla rappresentazione grafica delle informazioni, colori e simboli rendono immediata l’identificazione dei cambiamenti apportati alla normale applicazione, basata appunto sul principio di ereditarietà, dei permessi NTFS.
Come usare NTFS Stuff
Scaricate l'archivio .zip [2] contenente lo script ed estraete il file ntfsStuff.vbs in una qualsiasi cartella situata sul File Server che ospita la struttura di cartelle da analizzare.
Fate doppio clic su ntfsStuff.vbs per eseguirlo, come prima cosa lo script richiederà di specificare il percorso alla cartella radice (root folder) dell'intera struttura di cartelle da analizzare. Inseritelo e premere il tasto OK per confermare.
Successivamente, soltanto su Windows 2000, vi verrà richiesto di specificare la priorità d'esecuzione (task priority level), le opzioni accettate sono: 0, 1 e 2.
- 1 è il valore predefinito e consigliato, il processo di analisi verrà leggermente rallentato in modo da non saturare completamente le risorse del Server.
- 0 è la scelta più prudente, il processo di analisi risulterà estremamente lento ma l'utilizzo delle risorse verrà ridotto al minimo.
- 2 è la scelta sconsigliata, il processo di analisi non subirà nessun rallentamento forzato e raggiungerà quindi la velocità massima possibile. Attenzione: questa opzione potrebbe causare la saturazione delle risorse di macchine piuttosto datate.
Su Windows XP/2003 e superiori la corretta allocazione delle risorse viene gestita in maniera autonoma dal sistema operativo stesso.
A questo punto è necessario impostare un livello di dettaglio dell'output (verbosity level)
- 0 (predefinito) - livello normale, in questo caso verranno mostrate soltanto le cartelle contrassegnate dai simboli x e +, ovvero quelle più rilevanti per quanto riguarda autorizzazioni ed ereditarietà.
- 1 - livello alto, in questo caso verrà mostrata l'intera struttura del file server rappresentata con indentazione. In questo caso il file HTML risultante potrebbe risultare esageratamente grande,
L'ultima opzione permette invece di specificare il numero di sottolivelli (recursion level) che verranno analizzati a partire dalla cartella di radice, lasciate il valore 0 per eseguire l'analisi dell'intero albero di cartelle oppure inserite il numero desiderato di sottolivelli a cui limitarla; questa funzionalità ha anche la caratteristica di ridurre i tempi di esecuzione, per fileserver non particolarmente complessi potrebbe infatti non essere necessario analizzare più di 3 o 4 sottolivelli.
Premete il tasto OK per avviare il processo di analisi; verrà così generato un file denominato ntfs_stuffed.html, esso costituisce l'output dello script e risulterà completo soltanto alla comparsa della seguente finestra
N.B: per la compilazione di report relativi a strutture complesse formate da decine di migliaia di cartelle potrebbe essere necessario attendere qualche ora.
Le seguenti immagini mostrano il risultato ottenuto utilizzando i due diversi livelli di dettaglio (verbosity level):
- livello "0"
- livello "1"
A mio parere la caratteristica principale di questo script è l'estrema leggibilità dell'output, le cartelle "interessanti" delle quali andremo a verificare l'effettiva sussistenza dei permessi sono proprio quelle identificate dai simboli "x" e "+", rispettivamente essi stanno a significare "ereditarietà interrotta" e "permessi manualmente modificati".
Autore
Mirko Iodice
mirko -at- notageek (.dot) it