Mencegah program menghapus file di Windows?

8

Saya memiliki program yang dapat dieksekusi (tanpa kode sumber) yang membuat file sementara di folder tertentu kemudian menghapusnya di akhir. Saya mengalami masalah dengan program ini dan ingin memeriksa file sementara untuk melihat apakah ada yang bisa saya lakukan tanpa mengubah sumbernya.

Apakah ada cara saya bisa mencegah program menghapus file, atau sebagai alternatif mencegah semua program menghapus file di folder tertentu?

JoelFan
sumber
1
Mengapa tidak memeriksa file saat program sedang berjalan? Apakah program menjaga semua file sementara yang dibuatnya terkunci?
joeqwerty
Itu membuat mereka dan menghapusnya terlalu cepat
JoelFan

Jawaban:

9

Anda dapat mengubah ACL pada folder yang dimaksud sehingga akun yang menjalankan yang dapat dieksekusi (kemungkinan besar Anda ) dapat membuat, menulis, mengedit file di sana, tetapi tidak menghapus. Dua masalah:

  1. Anda tentu saja dapat menyebabkan program macet

  2. Anda harus mendapatkan kembali kendali atas folder setelahnya (ambil kepemilikan, setel ulang semua izin dll) untuk dapat menghapus file

Izzy
sumber
4
+1 Dengan NTFS ACLs Denyentri diutamakan Allow. Anda dapat menambahkan entri untuk Deny Deletedan / atau Deny Delete Subfolders/Filesuntuk Everyoneke direktori. Kami melakukan ini sering untuk menangkap ekstrak instalasi perangkat lunak / mengunduh file.
jscott
3
@ jscott: Dari MS: Izin Deny yang diwarisi tidak mencegah akses ke objek jika objek memiliki entri Izinkan izin yang eksplisit. Izin eksplisit didahulukan dari izin yang diwarisi, bahkan izin Tolak yang diwarisi. technet.microsoft.com/en-us/library/cc736316(WS.10).aspx . Artikel itu sudah tua tetapi sepengetahuan saya perilakunya tidak berubah.
joeqwerty
0

Karena membuat file, pengguna menjalankannya sebagai pemilik pada file dan akan dapat menghapusnya, jadi saya tidak berpikir ada yang bisa Anda konfigurasi untuk NTFS CACLS pada direktori induk sebelumnya.

Anda bisa mencoba membuka file di program lain sendiri untuk melihat apakah itu akan mencegah penghapusan. Anda juga dapat mencoba menyalin dan / atau memindahkan file segera setelah dibuat ke folder lain.

mfinni
sumber
1
Kepemilikan mengabaikan hanya satu izin file - kemampuan untuk mengubah ACL objek. Anda masih dapat menyangkal diri sendiri segala sesuatu yang lain (termasuk bahkan "Baca izin").
user1686
kecuali tentu saja Anda telah menetapkan kontrol penuh pemilik pencipta
tony roth