Individuare files/cartelle “spostati” in una share con gli accessi gestiti

Esplico: per lavoro mi son trovato a gestire una share in cui su richiesta del cliente è necessario gestire gli accessi ad n livelli di sotto cartelle.

Impostato il tutto, esiste comunque una situazione che è difficile monitorare, cioè quando una persona con accessi RW su due cartelle nella share “sposta” qualcosa da una all’altra.. cosa succede? Semplice se un’altra persona ha accesso alla cartella destinazione e non alla sorgente non riuscirà ad accedere a quanto è stato spostato, questo perchè in uno spostamento (o taglia/incolla) la risorsa mantiene le ACL che aveva in origine.

Non essendo possibile prevenire la cosa ho deciso di cercare di monitorarla e per fare cio’ ho preso spunto dall’eccellente idea di Wayne Martin ottenendo il seguente script per Powershell (prima o poi mi stabilizzo su un linguaggio, promesso! 😉 )

broken_ACL_report_4.ps1
Il mio consiglio è quello di leggere l’articolo citato sopra, in breve vi posso dire che le istruzioni chiave nella function ENUMFOLDER sono le seguenti:

  • $parentacl = get-acl -Path $a.GetFolder($tld.fullname).ShortPath legge le ACL della cartella che sta analizzando
  • $ParentAccessRules = $parentacl.GetAccessRules($true, $true, [System.Security.Principal.NTAccount]) legge le regole di ereditarietà e gli account abilitati sul folder

Le stesse istruzioni poi vengono eseguite per ogni sottocartella e quando si trova che una cartella eredita dal parent le ACL, ma confrontandole gli account/gruppi abilitati risultano differenti, allora abbiamo scovato una cartella spostata.

Si potrebbe fare la stessa cosa anche per i files facendo analizzare tutti i ChildItems, non solo le cartelle (che vengono riconosciute da $_.PSIsContainer), ma se la mole di dati è significativa (come nel mio caso), i tempi per la scansione di tutta la share renderebbe il tutto inutilizzabile..

Alla prossima

Sergio


Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.