ファイルとフォルダーをコピーおよび移動するときにアクセス許可を処理する方法

この記事では、Windows エクスプローラーがさまざまな状況でファイルとフォルダーのアクセス許可を処理する方法について説明します。

適用対象: Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号: 310316

概要

Microsoft Windows 2000、Windows Server 2003 および Windows XP では、FAT32 ファイル システムまたは NTFS ファイル システムのいずれかを使用できます。 NTFS を使用する場合は、フォルダーとファイルにアクセス許可を付与して、それらのオブジェクトへのアクセスを制御できます。 NTFS ボリューム上のファイルまたはフォルダーをコピーまたは移動する場合、Windows エクスプローラーがオブジェクトに対するアクセス許可を処理する方法は、オブジェクトが同じ NTFS ボリューム内でコピーされるか移動されるか、別のボリュームに移動されるかによって異なります。

詳細情報

既定では、オブジェクトは、作成時または親フォルダーにコピーまたは移動されたときに、その親オブジェクトからアクセス許可を継承します。 この規則の唯一の例外は、オブジェクトを同じボリューム上の別のフォルダーに移動するときに発生します。 この場合、元のアクセス許可は保持されます。

さらに、次の規則に注意してください。

  • Everyone グループには、各 NTFS ドライブのルートに対するフル コントロールを許可するアクセス権限が付与されます。

  • アクセス権限の拒否は、アクセス権限の許可よりも常に優先されます。

  • 明示的なアクセス許可は、継承されたアクセス許可よりも優先されます。

  • NTFS アクセス許可が競合する場合、たとえばグループとユーザーのアクセス許可が矛盾している場合、自由度が最も大きいアクセス許可が優先されます。

  • アクセス許可は累積的です。

  • ファイルやフォルダーをコピーまたは移動するときにアクセス許可を保持するには、Xcopy.exe ユーティリティを /O スイッチまたは /X スイッチとともに使用します。

    オブジェクトの元のアクセス許可は、新しい場所の継承可能なアクセス許可に追加されます。

  • オブジェクトをコピーまたは移動するときに、オブジェクトの元のアクセス許可を継承可能なアクセス許可に追加するには、Xcopy.exe ユーティリティを -O スイッチおよび -X スイッチとともに使用します。

  • 親フォルダーから継承可能なアクセス許可を追加せずに既存のアクセス許可を保持するには、Windows 2000 Resource Kit から入手できる Robocopy.exe ユーティリティを使用します。

オブジェクトを別の NTFS ボリュームにコピーまたは移動するときに、Windows エクスプローラーがアクセス許可を処理する方法を変更できます。 オブジェクトを別のボリュームにコピーまたは移動すると、そのオブジェクトは新しいフォルダーのアクセス許可を継承します。 ただし、この動作を変更して元のアクセス許可を保持する場合は、次のようにレジストリを変更します。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に、[名前] ボックスに「regedit」と入力し、Enter キーを押します。

  2. レジストリ キー HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer を見つけてクリックします。

  3. [編集] メニューの [値の追加] をクリックし、次のレジストリ値を追加します。

    • 値の名前: ForceCopyAclwithFile
    • データの種類: DWORD
    • 値のデータ: 1
  4. レジストリ エディターを終了します。

オブジェクトが同じ NTFS ボリューム内で移動されたときに、Windows エクスプローラーがアクセス許可を処理する方法を変更できます。 前述のように、オブジェクトが同じボリューム内で移動されると、オブジェクトは既定でそのアクセス許可を保持します。 ただし、この動作を変更してオブジェクトが親フォルダーからアクセス許可を継承するには、次のようにレジストリを変更します。

  1. [スタート] をクリックして [実行] をクリックし、「Regedit」と入力して Enter キーを押します。

  2. レジストリ サブキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer を見つけて選択します。

  3. [編集] メニューの [値の追加] をクリックし、次のレジストリ値を追加します。

    • 値の名前: MoveSecurityAttributes
    • データの種類: DWORD
    • 値のデータ: 0
  4. レジストリ エディターを終了します。

  5. オブジェクトの移動に使用されるユーザー アカウントに、[アクセス許可の変更] アクセス許可セットがあることを確認します。 アクセス許可が設定されていない場合は、ユーザー アカウントに [アクセス許可の変更] を付与します。

注:

MoveSecurityAttributes レジストリ値は、Windows XP と Windows Server 2003 にのみ適用されます。 この値は Windows 2000 には影響しません。