web-dev-qa-db-ja.com

読み取り専用のフォルダにファイルを書き込むことができるのはなぜですか?

私はWindows 7とWindows XPの両方でこれを試しました。 Windowsエクスプローラを起動し、(例えば)NonWriteableという名前の一時的な場所に新しいフォルダを作成します。フォルダを右クリックして、フォルダのプロパティをRead-onlyに設定します。

Folder set to be read-only

フォルダを開いて新しい.txtファイルを作成します。これは許可されています。どうして?フォルダ内で何も変更できないようにフォルダをどのように設定しますか?

注:.txtファイルを右クリックしてそれをRead-onlyに設定すると、システムはファイルの更新を正しく防ぎます。

39
AlainD

ファイルの読み取り専用属性とは異なり、フォルダの読み取り専用属性は通常、Windows、Windowsのコンポーネントとアクセサリ、およびその他のプログラムでは無視されます。たとえば、Windowsエクスプローラを使用して、読み取り専用属性を持つフォルダを削除、名前変更、および変更することができます。

読み取り専用属性とシステム属性は、Windowsがビューをカスタマイズしたシステムフォルダなど、フォルダが特別なフォルダかどうかを判断するためにWindowsエクスプローラによってのみ使用されます(マイドキュメント、お気に入り、フォント、ダウンロードされたプログラムファイルなど)。またはフォルダの[プロパティ]ダイアログボックスの[カスタマイズ]タブを使用してカスタマイズしたフォルダ。その結果、Windowsエクスプローラでは、フォルダの読み取り専用属性またはシステム属性を表示または変更することはできません。フォルダに読み取り専用属性が設定されていると、エクスプローラはそのフォルダのDesktop.iniに特別なフォルダ設定を設定する必要があるかどうかを確認するよう要求します。

ソース: https://support.Microsoft.com/en-gb/help/326549/you-cannot-view-or-change-the-read-only-or-the-system -attributes-of-fo

これは古い記事ですが、Windowsのすべてのバージョンに当てはまります。

フォルダ内にファイルが作成されないようにするには、フォルダプロパティのSecurityタブを使用して権限を変更します。 Advancedボタンをクリックして、Create Files / Write Dataへのアクセスを拒否する規則を追加します。

56
David Marshall