Windowsでプログラムがファイルを削除できないようにしますか?


8

特定のフォルダーに一時ファイルを作成し、最後にそれらを削除する実行可能プログラム(ソースコードなし)があります。プログラムに問題があり、一時ファイルを調べて、ソースを変更せずにできることがあるかどうかを確認したいと思います。

プログラムがファイルを削除できないようにする方法、またはすべてのプログラムが特定のフォルダー内のファイルを削除できないようにする方法はありますか?


1
プログラムの実行中にファイルを調べてみませんか?プログラムは、作成するすべての一時ファイルをロックしたままにしますか?
joeqwerty

作成と削除が速すぎる
JoelFan

回答:


9

問題のフォルダーのACLを変更して、実行可能ファイルを実行しているアカウント(ほとんどの場合は)がファイルを作成、書き込み、編集できるようにしますが、削除はできません。2つの問題:

  1. もちろん、おそらくプログラムをクラッシュさせるでしょう

  2. ファイルを削除できるようにするには、後でフォルダーの制御を回復する必要があります(所有権を取得し、すべての権限をリセットするなど)。


4
+1 NTFS ACLでは、Denyエントリがに優先しAllowます。あなたは、のためにエントリを追加することができDeny Delete、および/またはDeny Delete Subfolders/FilesのためのEveryoneディレクトリに。これは、ソフトウェアインストールの抽出/ダウンロードファイルをキャプチャするために頻繁に行われます。
jscott

3
@jscott:MSから:オブジェクトに明示的な許可アクセス許可エントリがある場合、継承された拒否アクセス許可はオブジェクトへのアクセスを妨げません。明示的なアクセス許可は、継承された拒否アクセス許可であっても、継承されたアクセス許可よりも優先されます。technet.microsoft.com/en-us/library/cc736316(WS.10).aspx。記事は古いですが、私の知る限り、動作は変更されていません。
joeqwerty

0

ファイルを作成しているので、ファイルの所有者として実行しているユーザーはファイルを削除できます。そのため、親ディレクトリでNTFS CACLSを事前に構成できるものはないと思います。

自分でファイルを別のプログラムで開いて、削除できないかどうかを確認することもできます。ファイルが別のフォルダに作成されたらすぐに、ファイルのコピーや移動を試すこともできます。


1
所有権は、ファイルのアクセス許可を1つだけ上書きします-オブジェクトのACLを変更する機能。他のすべてを拒否することもできます(「読み取りアクセス許可」も含みます)。
user1686

もちろん、作成者の所有者にフルコントロールを設定していない限り
tony roth
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.