フォルダを移動すると継承されたアクセス許可は自動的に反映されない

文書翻訳 文書翻訳
文書番号: 320246 - 対象製品
この記事は、以前は次の ID で公開されていました: JP320246
すべて展開する | すべて折りたたむ

目次

現象

アクセス制御リスト (ACL) には、親から継承したアクセス許可であることが示されていても、親自体の ACL にはそのアクセス許可が設定されていないことがあります。この現象は、継承が有効な場合にも発生することがあります。その後で親フォルダの ACL が変更されると、親から継承されたアクセス許可が子の ACL に適用されます。また、子の ACL を変更しようとした場合、親から継承されたアクセス許可が適用されます (ACL が継承から保護されている場合はこの限りではありません)。ACL を編集する前に継承の状態に気付いていなかった場合、この動作により、意図した結果とは異なる結果になる場合があります。

: この現象は、Windows Vista ベースのコンピュータでフォルダを移動した場合には発生しません。移動したフォルダやファイルは移動先のフォルダやファイルの ACL を継承するため、移動処理が正しく機能するようになっています。フォルダやファイルには、親から継承されたアクセス許可も設定されます。Windows Vista (Windows Server "Longhorn") では仕様が変更されており、Windows XP とは動作が異なります。

原因

この現象は、フォルダの移動が原因で発生することがあります。フォルダを移動しても ACL は変更されず、継承されたアクセス許可は更新されません。この資料において、"移動" とは常に同じボリューム内での移動を意味していることに注意してください。

ファイルやフォルダを移動すると、ACL もそのまま移動され、まったく変更されません。このフォルダに対して継承が有効になっている場合でも、継承されたアクセス許可は自動的には更新されません。ACL は次にアクセス許可を変更したときに更新され、これによって親のアクセス許可が継承されます。

この現象は、以下のことが原因で発生する場合もあります。
  • CACLS を使用した親フォルダのアクセス許可の設定が、サブフォルダには伝達されない。/T オプションでは、継承を利用してアクセス許可が適用されるのではなく、すべての ACL が上書きされます。
  • 継承を自動的に伝達しない API (Adssecurity.dll など) を使用して親フォルダのアクセス許可を設定している。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    266461 [HOWTO] ファイルやフォルダのアクセス許可の自動継承を設定する方法 - ADSI
  • バックアップから別の場所に復元している。

解決方法

アクセス許可に意図していなかった変更が適用されることを回避するには、元の設定を維持する必要がある場合は、移動する前にファイルやフォルダの ACL を "保護" に設定します。あるいは、エクスプローラの ACL エディタを使用して、移動したファイルやフォルダの ACL を手動で更新します。継承を無効にしてから、再び有効にすると、ACL が正しく継承されたアクセス許可によって更新されます。さらに、VBScript を使用して、このプロセスを自動化することもできます。 この方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
279682 [HOWTO] ADsSecurity.dll を使用して NTFS フォルダに ACE を追加する方法

状況

この動作は仕様です。Windows Vista では、仕様変更により動作が異なります。

詳細

問題の再現手順

  1. "everyone: 読み取り" および "users: 変更" アクセス許可を持つ "test1" フォルダを作成します。
  2. "test1\sub" サブフォルダを作成して、親からの継承を有効にします (デフォルトで有効になっています)。このフォルダには、"everyone: 読み取り" および "users: 変更" が継承されたアクセス許可として表示されます。
  3. "administrators: フル コントロール" アクセス許可のみを持つ別のフォルダ "test2" を作成します。
  4. "sub" サブフォルダを "test2" に移動します。
  5. "test2\sub" のアクセス許可を表示すると、親のアクセス許可が "administrators: フル コントロール" でも、継承されたアクセス許可として、"everyone: 読み取り" および "users: 変更" が表示されます。
  6. エクスプローラの ACL エディタを使用して、他のグループやユーザー (Guest など) を "sub" の ACL に追加し、たとえば読み取りのアクセス許可を付与します。[適用] をクリックすると、"everyone: 読み取り" と "users: 変更" は削除され、追加したユーザーやグループの横に、継承されたアクセス許可として、"administrators: フル コントロール" が表示されます。

プロパティ

文書番号: 320246 - 最終更新日: 2007年3月20日 - リビジョン: 3.5
この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
キーワード:?
kbenv kbui kbprb KB320246
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com