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?
sumber
Jawaban:
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
Delete
izin NTFS diperlukan untuk memodifikasi file - pada kenyataannya, jika Anda memeriksaAdvanced permissions
objek NTFS, tidak adaModify
izin - 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 attributes
izin NTFS. Jadi itu sebabnya Anda tidak dapat mengubah file tanpa memilikiWrite attributes
izin NTFS.Secara khusus, berkat obrolan dengan Fitzroy , atribut file NTFS yang perlu ditulis di bawah konteks keamanan pengguna (yang tidak bisa, tanpa
Write Attributes
izin), ketika memodifikasi file, tetapi tidak ketika membuat yang benar-benar baru, akan menjadi fileLastModificationTime
. Ini adalah bagian dariStandard Information
atribut, menurut salah satu pengembang Tim Inti Microsoft .sumber
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.
sumber