Empêcher un programme de supprimer des fichiers dans Windows?


8

J'ai un programme exécutable (pas de code source) qui crée des fichiers temporaires dans un certain dossier puis les supprime à la fin. J'ai des problèmes avec le programme et j'aimerais examiner les fichiers temporaires pour voir s'il y a quelque chose que je peux faire sans changer la source.

Existe-t-il un moyen d'empêcher le programme de supprimer des fichiers ou d'empêcher tous les programmes de supprimer des fichiers dans un certain dossier?


1
Pourquoi ne pas examiner les fichiers pendant l'exécution du programme? Le programme garde-t-il tous les fichiers temporaires qu'il crée verrouillés?
— joeqwerty le

Il les crée et les supprime trop rapidement
— JoelFan

Réponses:


9

Vous pouvez modifier l'ACL sur le dossier en question afin que le compte courant de l'exécutable (très probablement vous ) peuvent créer, écrire, modifier les fichiers là - dedans, mais pas supprimer. Deux problèmes:

  1. Vous pourriez bien sûr provoquer le plantage du programme

  2. Vous devrez ensuite reprendre le contrôle du dossier (prendre possession, réinitialiser toutes les autorisations, etc.) pour pouvoir supprimer les fichiers


4
+1 Avec les ACL NTFS, une Denyentrée est prioritaire Allow. Vous pouvez ajouter une entrée pour Deny Deleteet / ou Deny Delete Subfolders/Filespour Everyonedans le répertoire. Nous le faisons fréquemment pour capturer des fichiers d'extrait / téléchargement d'installation de logiciels.
— jscott

3
@jscott: De MS: les autorisations Inherited Deny n'empêchent pas l'accès à un objet si l'objet possède une entrée d'autorisation Autoriser explicite. Les autorisations explicites ont priorité sur les autorisations héritées, même les autorisations Refuser héritées. technet.microsoft.com/en-us/library/cc736316(WS.10).aspx . L'article est ancien mais à ma connaissance le comportement n'a pas changé.
— joeqwerty

0

Puisqu'il crée les fichiers, l'utilisateur qu'il exécute est le propriétaire des fichiers et sera en mesure de les supprimer, donc je ne pense pas qu'il y ait quoi que ce soit que vous pouvez configurer pour NTFS CACLS sur le répertoire parent à l'avance.

Vous pouvez essayer d'ouvrir les fichiers dans un autre programme vous-même pour voir si cela empêchera la suppression. Vous pouvez également essayer de copier et / ou de déplacer les fichiers dès qu'ils sont créés dans un autre dossier.


1
La propriété remplace une seule autorisation de fichier - possibilité de modifier les ACL de l'objet. Vous pouvez toujours vous refuser tout le reste (y compris même les "autorisations de lecture").
— user1686

à moins bien sûr que vous ayez défini le contrôle total du propriétaire du créateur
— tony roth
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.