Avete una cartella di rete sulla quale risulta “proprietario” un semplice utente di dominio e non riuscite a modificare alcunché proprio perché vi mancano i diritti, anche se siete amministratori del dominio. Non dovrebbe mai capitare ma sfortunatamente potreste incorrere nel mio stesso caso. A memoria il comando “takeown” lanciato dal prompt dei comandi dovrebbe salvarvi la vita, una roba simile:
takeown /f \\disco\home\utente /r /d y
Eppure, nel caso in cui quella cartella padre ne contenga parecchie figlie neanche il takeown potrà aiutarvi, restituendo l’errore riportato nel titolo dell’articolo: “ERROR: The data area passed to a system call is too small.” Ho provato anche ad usare il semplice cacls ma senza ottenere lo scopo ancora una volta:
CACLS \\disco\home\utente /E /T /C /G "Domain Admins":F
A questo punto mi sono ricordato che tempo fa (molto tempo fa, ndr) Microsoft aveva rilasciato un nuovo tool da riga di comando per gestire questo tipo di rogne, il subinacl: microsoft.com/en-us/download/details.aspx?id=23510.
L’utilizzo è estremamente semplice e risolve il problema in tempi brevi:
subinacl /subdirectories "\\disco\home\utente\*.*" /setowner=Administrators
Una volta ottenuta l’ownership della cartella padre potrete tranquillamente modificarne le ACL facendole ereditare dalla cartella superiore, riportando così gli amministratori di dominio ad avere pieni diritti (oltre l’utente che solitamente gestisce quel suo spazio). L’eseguibile subinacl non necessita realmente di installazione (è un finto setup, una volta eseguito potrete esportare ovunque l’exe), comodo da tenere su una cartella su uno dei server del dominio tanto quanto in chiavetta o sulla vostra macchina da lavoro.
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)