Impedire a un programma di eliminare i file in Windows?


8

Ho un programma eseguibile (nessun codice sorgente) che crea file temporanei in una determinata cartella e li elimina alla fine. Sto riscontrando problemi con il programma e vorrei esaminare i file temporanei per vedere se c'è qualcosa che posso fare senza cambiare l'origine.

Esiste un modo per impedire al programma di eliminare i file o, in alternativa, impedire a tutti i programmi di eliminare i file in una determinata cartella?


1
Perché non esaminare i file mentre il programma è in esecuzione? Il programma mantiene bloccati tutti i file temporanei che crea?
joeqwerty,

Li crea e li elimina troppo velocemente
JoelFan,

Risposte:


9

È possibile modificare l'ACL nella cartella in questione in modo che l'account che esegue l'eseguibile (molto probabilmente tu ) possa creare, scrivere, modificare i file lì dentro, ma non eliminarli. Due problemi:

  1. Ovviamente potresti causare l'arresto anomalo del programma

  2. In seguito dovrai riprendere il controllo della cartella (assumere la proprietà, ripristinare tutte le autorizzazioni, ecc.) Per poter eliminare i file


4
+1 Con gli ACL NTFS una Denyvoce ha la precedenza Allow. È possibile aggiungere una voce per Deny Deletee / o Deny Delete Subfolders/Filesper Everyonenella directory. Lo facciamo frequentemente per acquisire i file di estrazione / download dell'installazione software.
jscott,

3
@jscott: da MS: le autorizzazioni Nega ereditato non impediscono l'accesso a un oggetto se l'oggetto ha una voce di autorizzazione Consenti esplicita. Le autorizzazioni esplicite hanno la precedenza sulle autorizzazioni ereditate, anche le autorizzazioni Nega ereditate. technet.microsoft.com/en-us/library/cc736316(WS.10).aspx . L'articolo è vecchio ma, per quanto ne sappia, il comportamento non è cambiato.
joeqwerty,

0

Dal momento che sta creando i file, l'utente sta eseguendo come è il proprietario dei file e sarà in grado di eliminarli, quindi non credo che ci sia qualcosa che puoi configurare per NTFS CACLS nella directory padre in anticipo.

Potresti provare ad aprire i file in un altro programma per vedere se ciò impedirà la cancellazione. Puoi anche provare a copiare e / o spostare i file non appena vengono creati in un'altra cartella.


1
La proprietà ha la precedenza solo un file di permesso - possibilità di modificare le ACL dell'oggetto. Puoi ancora negarti tutto il resto (compresi anche i "permessi di lettura").
user1686

a meno che, naturalmente, tu abbia impostato il pieno controllo del proprietario dell'autore
tony roth, il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.