Mengapa saya dapat menulis file ke folder yang hanya baca?

39

Saya sudah mencoba ini pada Windows 7 dan Windows XP. Mulai Windows Explorer dan buat folder baru di beberapa lokasi sementara yang disebut (katakanlah) NonWriteable. Klik kanan folder dan atur properti folder ke Read-only.

Folder disetel menjadi hanya-baca

Sekarang buka folder dan buat file .txt baru. Ini dibolehkan Mengapa? Bagaimana Anda mengatur folder sehingga tidak ada yang dapat dimodifikasi di dalamnya?

Catatan: Jika saya klik kanan file .txt dan atur itu Read-onlymaka sistem mencegah pembaruan ke file dengan benar.

AlainD
sumber
3
Periksa opsi lanjutan dan aktif menolak izin menulis. Akun apa yang Anda gunakan? Akun administratif harus selalu dapat mengubah hal-hal.
Seth
@Seth Akun administratif harus selalu dapat mengubah hal-hal? Bagaimana jika seseorang mencoba mengakses folder pada mesin yang berbeda?
InterLinked
2
Windows sepertinya tidak pernah menggunakan pengaturan ini untuk direktori. Jika berada dalam drive bersama Anda akan menemukan bahwa Linux tidak akan dapat membuat, menghapus atau mengganti nama file kecuali read-only dihapus.
AFH
2
@Seth: Panggilan bagus. Setelah memodifikasi izin lanjutan pada Securitytab untuk menolak akses Create Files / Write Data, saya sekarang tidak dapat membuat file baru. Ini tampaknya merupakan bug / batasan Windows. Jika saya secara terprogram memanggil GetFileAttributesAPI pada folder, FILE_ATTRIBUTE_DIRECTORYatributnya disetel ... tetapi tidak FILE_ATTRIBUTE_READONLY.
AlainD
2
Perhatikan bahwa dimulai dengan Windows 7, dialog diubah Read-only (Only applies to files in this folder)untuk membuatnya lebih jelas apa opsi ini sebenarnya. Ada tangkapan layar dialog baru dalam jawaban ini .
ComicSansMS

Jawaban:

56

Tidak seperti atribut Read-only untuk file, atribut Read-only untuk folder biasanya diabaikan oleh Windows, komponen dan aksesori Windows, dan program lainnya. Misalnya, Anda dapat menghapus, mengganti nama, dan mengubah folder dengan atribut Read-only dengan menggunakan Windows Explorer.

Atribut Read-only dan System hanya digunakan oleh Windows Explorer untuk menentukan apakah folder tersebut adalah folder khusus, seperti folder sistem yang tampilannya disesuaikan oleh Windows (misalnya, Dokumen Saya, Favorit, Font, File Program yang Diunduh) , atau folder yang Anda sesuaikan dengan menggunakan tab Customize dari kotak dialog Properties folder. Akibatnya, Windows Explorer tidak memungkinkan Anda untuk melihat atau mengubah atribut Read-only atau System dari folder. Ketika sebuah folder memiliki atribut Read-Only mengaturnya menyebabkan Explorer meminta Desktop.ini folder itu untuk melihat apakah ada pengaturan folder khusus yang perlu diatur.

Sumber: https://support.microsoft.com/en-gb/help/326549/you-cannot-view-or-change-the-read-only-or-the-system-attributes-of-fo

Ini adalah artikel lama tetapi masih berlaku untuk semua versi Windows.

Untuk mencegah pembuatan file di folder, ubah izin menggunakan Securitytab di properti folder. Klik Advancedtombol dan tambahkan aturan untuk menolak akses Create Files / Write Data.

David Marshall
sumber
1
@ AlainD Ya. Ini adalah artikel lama tetapi masih berlaku untuk versi Windows yang lebih baru. Saya akan kembali dan memperluas jawabannya nanti.
David Marshall
1
Jadi atribut "read-only" dari folder sama sekali tidak ada hubungannya dengan itu hanya-baca saja? Apakah itu tidak lebih dari kegagalan UX huuuuuge?
Pedro A
6
@Hamsteriffic Ini adalah warisan dari sistem file FAT. FAT digunakan untuk mendukung hanya beberapa atribut file, RO menjadi salah satunya. NTFS menampilkan mekanisme ACL yang canggih untuk kontrol akses, sehingga atribut FAT tidak penting ketika NTFS digunakan. Namun, dialog khusus tersebut dirancang bertahun-tahun yang lalu ketika FAT masih lazim dan tidak pernah berubah sejak itu.
oakad
4
@Hamsteriff Jadi, untuk meringkas komentar oakad: Ya.
Alexander Kosubek
2
@jrh Dia menulis satu di tahun 2003 blogs.msdn.microsoft.com/oldnewthing/20030930-00/?p=42353
David Marshall