web-dev-qa-db-ja.com

NTFSアクセス許可-ファイルとフォルダーを作成しますが、削除と変更はできません

目的:ユーザーがファイルを作成できるが、変更や削除はできない共有フォルダー。また、ユーザーはサブフォルダーを作成できる必要があります。

セキュリティグループに次の高度なNTFSアクセス許可を付与しました。

  • フォルダの走査/ファイルの実行
  • フォルダのリスト/データの読み取り
  • 属性の読み取り
  • 拡張属性の読み取り
  • ファイルの作成/データの書き込み
  • 読み取り許可

試行錯誤のプロセスを通じて、[〜#〜](〜#〜]に「書き込み属性」を付与することにより、これがユーザーを防ぐ効果があることを発見しました既存のファイルの変更/削除から(これは私が望んでいることです)。しかし、なぜこれが機能するのかを正確に説明したいと思います。私が持っている唯一の理論は、ファイルの削除/変更がファイルの属性を変更するということですか? これは同じ行に沿った説明です

編集-私の質問の2番目の部分は無関係です。「ファイルの作成/データの書き込み」だけを選択したと思いましたが、「フォルダの作成/データの追加」も選択しました

さらに、ユーザーがルート内にサブフォルダーを作成できるようにしたいのですが、「ファイルの作成/データの書き込み」を許可することで、これが可能になります。しかし、繰り返しになりますが、この名前は、この許可がフォルダーではなくファイルの作成を許可するだけであることを示唆しているので、なぜ機能するのかわかりませんか? Microsoftの「ファイルの作成/データの書き込み」属性の説明 は、「フォルダーの場合、ユーザーがフォルダー内にファイルを作成できるかどうかを指定します。ファイルの場合、ユーザーがファイルを変更したりデータを上書きしたりできるかどうかを指定します。」フォルダ内にサブフォルダを作成する機能についての言及はありませんか?

だから、基本的に、私は自分がやろうとしていることを達成しましたが、なぜそれが機能するのか理解できませんか?

10
Fitzroy

試行錯誤の過程で、「書き込み属性」を許可しないことにより、ユーザーが既存のファイルを変更/削除できないようにする効果があることがわかりました(これが私が望んでいることです)。しかし、なぜこれが機能するのかを正確に説明したいと思います。

これは、ファイルの変更が正確にどのように発生するかの関数です。ファイルを変更しても、オペレーティングシステムは編集中のファイルを実際には変更しません。編集中のファイルを、変更したコピーで置き換えます。したがって、基本的に、ファイルの変更は元のファイルのコピーを取り、それをメモリにロードして(変更した場合)、元のファイルを削除し、同じ場所に同じ名前で新しいファイルを作成します。これが、ファイルを変更するためにNTFS Delete権限が必要な理由です。実際、NTFSオブジェクトのAdvanced permissionsをチェックした場合、Modify権限はありません-変更は本当に削除と書き込み。

したがって、ファイルの新しいコピーを作成するには、この新しいファイルのファイル属性を書き込む必要があります。もちろん、属性を書き込むには、Write attributes NTFS権限が必要です。そのため、Write attributes NTFS権限がないとファイルを変更できません。

具体的には、 FitzroyとのチャットのおかげでNTFSファイル属性 は、ユーザーのセキュリティコンテキストの下で書き込む必要があるWrite Attributes権限がない場合、ファイルを変更する場合はできませんが、完全に新しいファイルを作成する場合は、 ファイルのLastModificationTime)になります。これは、 Microsoft Core Team開発者の1人によるStandard Information属性

7
HopelessN00b

それは真実です。「属性の書き込み」権限がないと、ユーザーはファイルを変更できなくなります。そしてMicrosoftのドキュメントによると、それは意味がありません。しかしmodifyingファイル削除を意味しないとその再作成。アプリケーションが変更のためにファイルを開くとき、オペレーティングシステムはファイルを削除しません。ただし、OSが行うことは、同時変更を防ぐためにファイルをロックすることです。私の推測では、ファイルのロックは「ファイル属性の変更」の概念に該当します。したがって、属性を変更できないと、ファイルを変更できなくなります。

質問の2番目の部分については、再現できません。フォルダーに適用される2つの異なるアクセス許可があります。「ファイルの作成/ ...」と「フォルダーの作成/ ...」であり、テスト中にドキュメントに従って機能しました。

3
drk.com.ar