Qualcuno ha cambiato i permessi su un gruppo di macchine usando cacls che hanno risolto un problema ma ne hanno creato uno più grande. Sto cercando dei modi per ripristinarlo, ma non riesco a riportarlo com'era.
Ho replicato utilizzando una macchina di prova e l'output è inferiore. Ho usato subinacl per ottenere l'output.
Modifica effettuata utilizzando:
ECHO Y|CACLS C:\APPSYS /t /e /p User1:F
Il motivo per cui le autorizzazioni sono state modificate è stato il fatto che alcuni file sono stati inseriti da qualcuno che ha effettuato l'accesso come amministratore e che anche gli utenti avevano bisogno di un accesso completo. Mi piacerebbe comunque sapere un modo sicuro per aggiungere il gruppo utenti1 a questi file anche se non si scherza con gli altri che non devono essere modificati. Non è un elenco statico di file, alcune macchine hanno solo 1 o 2 file, altre hanno 20-50 file in cui l'utente1 richiede il controllo completo ma non dispone di autorizzazioni.
Prima di eseguire ECHO "Y | CACLS C: \ APPSYS / t / e / p User1: F"
====================
+File C:\APPSYS\BIN
====================
/control=0x400
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =8
/pace =PC1125230\USERGROUP1 Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x2
=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =0
Dopo aver eseguito ECHO "Y | CACLS C: \ APPSYS / t / e / p User1: F"
====================
+File C:\APPSYS\BIN
====================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =9
/pace =PC1125230\User1 Type=0x0 Flags=0x3 AccessMask=0x1f01ff
/pace =PC1125230\USERGROUP1 Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x2
=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =1
/pace =PC1125230\User1 Type=0x0 Flags=0x0 AccessMask=0x1f01ff
Ci sono molti file e cartelle che diventano unici per le diverse macchine, quindi sto cercando di trovare un metodo che funzioni su tutti senza specificare ogni file esatto.
Ho usato subinacl per garantire ai gruppi di utenti a cui è negato l'accesso ad ERROR.LOG, ad esempio, e tutti i file e le cartelle nella cartella APPSYS perché c'erano molti problemi con il crash delle applicazioni. Ciò ha risolto il problema, ma sono preoccupato per l'effetto duraturo delle modifiche apportate rispetto alle impostazioni originali.
Prima di utilizzare il metodo subinacl per concedere le autorizzazioni, ho provato a rimuovere l'autorizzazione User1 ma, di nuovo, ERROR.LOG non ritorna a ciò che era saggio. Ho provato a sopprimere anche con lo stesso risultato senza differenze. Ho provato con il dispositivo di prova a fare un backup prima di eseguire il comando cacls e quindi ripristinare il backup con subinacl ma non è stato ripristinato correttamente da quello che posso vedere "," pace = builtin \ users Type = 0x0 Flags = 0x12 AccessMask = 0x4 "è stato rimosso dall'ACL.
Non ho esperienza con i descrittori di sicurezza, quindi mi dispiace se è dolorosamente ovvio o ho lasciato fuori i dettagli. Ho trascorso gli ultimi 5 giorni e notti a leggere cosa posso capire per capire cosa è andato storto e come risolverlo usando un processo batch.
Sono limitato agli script di base (windows xp pro) vb, batch posso usare strumenti dal kit di risorse e in una certa misura utilità di terze parti, ma ancora una volta dovrà essere l'uso di script in batch.