Izin NTFS - Membuat File dan Folder tetapi mencegah Penghapusan dan Modifikasi

10

Tujuan: Folder bersama tempat pengguna dapat membuat file tetapi tidak mengubah atau menghapusnya. Pengguna juga harus dapat membuat subfolder.

Saya telah memberikan grup keamanan saya izin lanjutan NTFS berikut:

  • Folder Traverse / Jalankan File
  • Daftar Folder / Baca Data
  • Baca Atribut
  • Baca Atribut yang Diperpanjang
  • Buat File / Tulis Data
  • Baca Izin

Melalui proses coba-coba, saya telah menemukan bahwa dengan TIDAK memberikan 'Tulis Atribut', ini memiliki efek mencegah pengguna memodifikasi / menghapus file yang ada (yang saya inginkan). Namun, saya benar-benar ingin penjelasan mengapa tepatnya ini berhasil. Satu-satunya teori yang saya miliki adalah bahwa penghapusan / modifikasi file mengubah atribut file? Berikut ini adalah diskusi sepanjang garis yang sama .

EDIT - Bagian kedua dari pertanyaan saya tidak relevan, saya pikir saya hanya memilih 'Buat File / Tulis Data' tetapi saya juga memilih 'Buat Folder / Tambah Data'.

Lebih jauh lagi, saya ingin pengguna dapat membuat subfolder di dalam root, dan saya telah menemukan bahwa dengan memberikan 'Buat File / Tulis Data', ini memungkinkan hal itu. Tapi sekali lagi, namanya menyarankan izin ini seharusnya hanya mengizinkan pembuatan file, bukan folder, jadi saya tidak mengerti mengapa itu berfungsi? Penjelasan Microsoft tentang atribut 'Buat File / Tulis Data' adalah "Untuk folder, tentukan apakah pengguna dapat membuat file di dalam folder. Untuk file, tentukan apakah pengguna dapat mengubah file atau menimpa data." Tidak disebutkan kemampuan membuat subfolder dalam folder?

Jadi pada dasarnya, saya telah mencapai apa yang ingin saya lakukan tetapi tidak mengerti mengapa itu berhasil?

Fitzroy
sumber
Isi file NTFS ADALAH "atribut"; yaitu atribut data tanpa nama default dan mungkin satu atau lebih atribut data bernama.
kreemoweet
Lihat juga jawaban yang bagus di sini: superuser.com/a/1145363/132727
CrazyTim

Jawaban:

7

Melalui proses coba-coba, saya telah menemukan bahwa dengan TIDAK memberikan 'Tulis Atribut', ini memiliki efek mencegah pengguna memodifikasi / menghapus file yang ada (yang saya inginkan). Namun, saya benar-benar ingin penjelasan mengapa tepatnya ini berhasil.

Ini adalah fungsi tepatnya bagaimana modifikasi file terjadi. Ketika Anda memodifikasi file, sistem operasi tidak benar-benar mengubah file yang Anda edit. Itu menggantikan file yang Anda edit dengan salinan yang Anda ubah. Jadi, pada dasarnya, modifikasi file mengambil salinan file asli, memuatnya ke dalam memori (tempat Anda memodifikasinya), menghapus file asli, dan membuat file baru dengan nama yang sama di tempat yang sama. Inilah sebabnya mengapa Deleteizin NTFS diperlukan untuk memodifikasi file - pada kenyataannya, jika Anda memeriksa Advanced permissionsobjek NTFS, tidak ada Modifyizin - modifikasi sebenarnya hanya penghapusan dan penulisan.

Jadi, untuk membuat salinan file baru itu, ia harus menulis atribut file dari file baru ini ... dan, tentu saja, menulis atribut memerlukan Write attributesizin NTFS. Jadi itu sebabnya Anda tidak dapat mengubah file tanpa memiliki Write attributesizin NTFS.

Secara khusus, berkat obrolan dengan Fitzroy , atribut file NTFS yang perlu ditulis di bawah konteks keamanan pengguna (yang tidak bisa, tanpa Write Attributesizin), ketika memodifikasi file, tetapi tidak ketika membuat yang benar-benar baru, akan menjadi file LastModificationTime. Ini adalah bagian dari Standard Informationatribut, menurut salah satu pengembang Tim Inti Microsoft .

HopelessN00b
sumber
1
"Inilah sebabnya mengapa izin Hapus NTFS diperlukan untuk memodifikasi file - pada kenyataannya, jika Anda memeriksa izin Lanjut pada objek NTFS, tidak ada izin Ubah - modifikasi benar-benar hanya penghapusan dan penulisan." Bisakah Anda mendukungnya dengan fakta atau referensi? Karena melalui pengujian lebih lanjut saya telah menemukan bahwa untuk memodifikasi isi file teks sederhana (menggunakan notepad) saya hanya menambahkan izin berikut: Tulis Atribut, Tulis Atribut Diperpanjang dan Buat Folder / Tambahkan Data. Saya menerima bahwa program yang berbeda dapat menunjukkan perilaku yang berbeda ketika memodifikasi file ...
Fitzroy
... namun, saya pikir tes ini membuktikan bahwa 'Hapus' tidak diperlukan.
Fitzroy
"Ini adalah fungsi tepatnya bagaimana modifikasi file terjadi. Ketika Anda memodifikasi file, sistem operasi tidak benar-benar mengubah file yang sedang diedit. Ini menggantikan file yang Anda edit dengan salinan yang Anda ubah. Jadi, pada dasarnya, modifikasi file mengambil salinan file asli, memuatnya ke dalam memori (tempat Anda memodifikasinya), menghapus file asli, dan membuat file baru dengan nama yang sama di tempat yang sama. " - uhh, cukup menyesatkan dan sangat tidak akurat di berbagai level teknis .
user2864740
3

Memang benar: tidak memiliki izin 'Tulis Atribut' mengakibatkan pengguna tidak dapat mengubah file-nya. Dan menurut dokumentasi Microsoft itu tidak masuk akal. Tetapi memodifikasi file tidak menyiratkan penghapusan dan rekreasi dari itu. Ketika aplikasi membuka file untuk modifikasi, sistem operasi tidak menghapus file. Tapi, yang dilakukan OS adalah mengunci file untuk mencegah modifikasi bersamaan. Dugaan saya adalah bahwa mengunci file berada di bawah konsep 'mengubah atribut file'. Dengan demikian, tidak dapat mengubah hasil atribut tidak dapat memodifikasi file.

Untuk bagian kedua dari pertanyaan Anda, saya tidak dapat mereproduksi itu. Ada dua izin berbeda yang berlaku untuk folder: 'Buat File / ...' dan 'Buat Folder / ...' dan mereka bekerja sesuai dengan dokumentasi selama pengujian saya.

drk.com.ar
sumber
Drk - Hanya mencerna jawaban Anda. FYI - Saya menghilangkan izin dalam pertanyaan saya, seharusnya saya juga mencantumkan 'Baca Atribut yang Diperpanjang'. Tanpa izin ini, saya telah menemukan bahwa pengguna tidak dapat melihat konten file (mereka mendapatkan kesalahan 'Akses ditolak'). Saya telah memperbarui pertanyaan saya.
Fitzroy
Ok, untuk pengujian saya, saya berasumsi Anda memberikan izin itu juga. Saya menemukan bahwa notepad tidak dapat memodifikasi file bahkan dengan izin '... / tulis data'. Berikut adalah hal lain yang perlu diperhatikan: menulis data vs menambahkan izin data tergantung pada bagaimana aplikasi Anda membuka file untuk modifikasi. Kemungkinan besar notepad selalu membuka file untuk menambahkan data, meskipun tidak diperlukan.
drk.com.ar
Untuk bagian kedua dari pertanyaan Anda, saya tidak dapat mereproduksi itu. Ada dua izin berbeda yang berlaku untuk folder: 'Buat File / ...' dan 'Buat Folder / ...' dan mereka bekerja sesuai dengan dokumentasi selama pengujian saya. Anda benar, kesalahan saya, saya pikir saya hanya memilih 'Buat File / Tulis Data' tetapi saya juga memilih 'Buat Folder / Tambah Data'.
Fitzroy