Impedir que um programa exclua arquivos no Windows?

8

Eu tenho um programa executável (sem código fonte) que cria arquivos temporários em uma determinada pasta e os exclui no final. Estou tendo problemas com o programa e gostaria de examinar os arquivos temporários para ver se há algo que eu possa fazer sem alterar a fonte.

Existe uma maneira de impedir que o programa exclua arquivos ou, alternativamente, impedir que todos os programas excluam arquivos em uma determinada pasta?

JoelFan
fonte
1
Por que não examinar os arquivos enquanto o programa está sendo executado? O programa mantém todos os arquivos temporários criados por ele bloqueados?
joeqwerty
Ele cria-los e exclui-los muito rápido
JoelFan

Respostas:

9

Você pode alterar a ACL na pasta em questão para que a conta que executa o executável (provavelmente você ) possa criar, gravar, editar arquivos lá, mas não excluir. Duas questões:

  1. É claro que você poderia causar a falha do programa

  2. Você precisará recuperar o controle da pasta posteriormente (assumir a propriedade, redefinir todas as permissões etc.) para poder excluir os arquivos

Izzy
fonte
4
+1 Com ACLs NTFS, uma Denyentrada tem precedência Allow. Você pode adicionar uma entrada para Deny Deletee / ou Deny Delete Subfolders/Filespara Everyoneo diretório. Fazemos isso frequentemente para capturar arquivos de extração / download de instalação de software.
Jscott #
3
@jscott: No MS: Inherited Deny, as permissões não impedem o acesso a um objeto se o objeto tiver uma entrada explícita de permissão Allow. Permissões explícitas têm precedência sobre permissões herdadas, até mesmo negar permissões herdadas. technet.microsoft.com/en-us/library/cc736316(WS.10).aspx . O artigo é antigo, mas que eu saiba, o comportamento não mudou.
joeqwerty
0

Como ele está criando os arquivos, o usuário está executando como o proprietário dos arquivos e poderá excluí-los, portanto, acho que não há nada que você possa configurar para o NTFS CACLS no diretório pai com antecedência.

Você pode tentar abrir os arquivos em outro programa para ver se isso impedirá a exclusão. Você também pode tentar copiar e / ou mover os arquivos assim que eles forem criados para outra pasta.

mfinni
fonte
1
A propriedade substitui apenas uma permissão de arquivo - capacidade de alterar as ACLs do objeto. Você ainda pode negar a si mesmo tudo o mais (incluindo até mesmo "Permissões de leitura").
user1686
a menos que naturalmente você tem conjunto proprietário criador o controle total
tony roth