私はこれをブログ投稿http://think-like-a-computer.com/2011/07/24/moving-files-on-the-same-ntfs-volume-does-inherit-permissions/で説明しましたが、以下でも説明します。
ファイルをコピーする場合、新しいファイルを作成して新しいアクセス許可のセットを割り当てる必要があるため、親フォルダーからアクセス許可を取得します。
ファイルを別のボリュームに移動すると、実際に行われるのは、そのファイルが新しいボリュームにコピーされ、古いファイルが削除されるということです。そのため、上記と同じプロセスが繰り返されます。これは再び新しいファイルであり、権限を設定する必要があるためです。
ファイルが同じボリューム内で移動しても、実際には何も起こりません(ディスクレベル)。ファイルの論理パスの場所を変更するだけです。ディスク上の実際のデータと物理ファイルは変更されていません。5GBファイルを同じドライブ上の別のフォルダーに移動したときに気づいたことがありますか?これは、実際には移動していないが、ファイルが論理的に存在する場所へのポインタが変更されているためです。変更されていないため、アクセス許可も変更されません。
これがこの動作の理由です。
編集:私が言及するのを忘れた何か... MSの記事は完全に正確ではありません。MSの引用:
デフォルトでは、オブジェクトは、作成時、または親フォルダーにコピーまたは移動されたときに、親オブジェクトから権限を継承します。このルールの唯一の例外は、オブジェクトを同じボリューム上の別のフォルダーに移動する場合に発生します。この場合、元の許可は保持されます。
上記の引用は、明示的に定義されたsec許可(継承をオフにする)が与えられたオブジェクトにのみ適用されます。私のコメントで述べたように、ACLエントリを可能な限り効率的に保つことがすべてです。次の例を考えてみましょう。
説明を簡単にするために、ユーザーが変更権限のみを許可するように設定されたフォルダーがあるとしましょう。この下には、数千のファイルがあり、それらのどれにも明示的なアクセス許可が設定されていません。各ファイルにACLを作成することは、それらがまったく同じパーマであるため、あまり効率的ではないため、フォルダーに1つのACLエントリーを設定します。この次のビットを理解することは非常に重要です。ファイル自体にはACL権限はありません。したがって、これらのファイルのいずれかを同じボリューム内の新しいフォルダーに移動すると、MSは(上記の引用のとおり)パーマも一緒に移動すると主張します。これを自問してください。最初に移動するファイルにはパーマがありませんでした。これは実際には間違っているので、確認のために今テストしました。ファイルの移動先のフォルダにパーマがあり、全員グループに権限の変更のみを許可するとします。ファイルには直接ACLがないため、親フォルダーのACLを継承します。これは、パーマがユーザーの変更(古いフォルダー)から全員の変更(新しいフォルダー)に変更されたことを意味します。
違いに注意してください?? 今回、同じボリューム内の別のフォルダーにファイルを移動すると、実際にはパーマが変更されました。2000年以来、MSドキュメントに間違いを見つけましたか?
ここで、明示的なアクセス許可を使用するときの同じシナリオを見てください。たとえば、ユーザーの読み取りアクセスを拒否するなど、このフォルダー内のファイルに明示的なアクセス許可を設定すると(継承はオフになります)、このファイル専用の新しいACLエントリが作成されます。これで、ファイルを新しい場所に移動すると、それに直接関連するACLエントリがあります。この場合、同じボリューム内の新しい場所にファイルを移動すると、その権限が保持されます(MSの主張による)!