Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

ファイルやフォルダのアクセス権をリセットして親フォルダから継承させる

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2010/07/09
対象OS
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
Windows OSではファイルやフォルダにアクセス権を与えてセキュリティを確保している。
アクセス権の設定が壊れたり間違って削除されたりした場合は、設定をすべてリセットして、親のアクセス権を継承するように設定するとよい。
アクセス権をリセットするには、プロパティ画面で子オブジェクトに対して置換させるか、icacls /resetコマンドを利用する。

解説

 Windows OSでは、ファイルやオブジェクトにACL(アクセス制御リスト)を付与し、アクセスを許可するか、禁止するかなどのアクセス権を制御している。ACLの詳細についてはTIPS「アクセス制御リストACLとは?」や「有効なファイル・アクセス権を調査する」などを参照していただきたい。

 ACLの設定を手動で変更したり、バックアップからリストアしたり、ユーザーやグループの設定を変更したりすると、ACLの設定が不整合を起こしたり、破損したりすることがある。またセキュリティ設定の見直しなどのために、ファイルやフォルダのACLをいっせいに変更したいこともあるだろう。このような場合は、アクセス権の設定をいったんすべてリセットして、親(親フォルダ)から継承しているアクセス権だけにするとよい。本TIPSではその方法について解説する。なお、アクセス権をすべて削除すると、ファイルやフォルダへはまったくアクセスできなくなる。ここではACLをすべて削除するのではなく、デフォルトのアクセス権である、親から継承しているACLだけにする方法を紹介する。

  操作方法

GUIのプロパティ画面で操作する方法

 ファイルやフォルダに付けられているアクセス権をすべてリセットし、親から継承しているアクセス権だけにするには、GUI画面で行う方法と、icaclsコマンドを利用する方法がある。最初に、GUI画面で操作する方法を紹介する。

 まず、対象となるファイルやフォルダのアクセス権設定を確認する。このためには、エクスプローラで該当するファイルやフォルダを選択して右クリックし、ポップアップ・メニューから[プロパティ]を選択する。そして[セキュリティ]タブ画面の[詳細設定]ボタンをクリックする。すると次のような画面が表示される。

フォルダのセキュリティの例
これはWindows XP上で確認した、あるフォルダに与えられているACLの例である。Windows Vista以降のOSの場合は、UACによる操作のブロックがあるため、さらに[アクセス許可の変更]というボタンをクリックする必要がある。「<継承元>」が「<継承なし>」となっているACLのエントリ(ACE)が、このフォルダやファイル独自のエントリである。
このタブを選択する。
ACLを構成するACE(アクセス制御エントリ)の一覧。
ACLの継承元情報。<継承なし>以外は、親フォルダから継承したエントリ。
これは、このフォルダ独自のACE。
親から継承したエントリ。ACLをリセットするとは、このエントリだけにすることを指す。
継承していないエントリの場合は、このように[削除]が可能。継承しているエントリの場合は、このボタンはグレーアウトしていて、クリックできない。

 この画面には、ACLを構成するエントリ(ACE:Access Control Entryという)が複数列挙されている。このうち、「<継承元>」の欄が「<継承なし>」となっているACEが、このフォルダやファイル独自のものである。フォルダ名や「<親オブジェクト>」などと表示されているものが親から継承したACEである。

 ACLの設定をリセットして、継承されたACLだけにするには、「<継承元>」が「<継承なし>」となっているエントリを選んで[削除]ボタンをクリックすればよい(親から継承しているACEは削除できない)。

 ファイルの場合は、もう子オブジェクトはないので、該当するACEをすべて削除するだけで作業は終了である。最後に[OK]や[適用]ボタンをクリックする。

 フォルダの場合は、該当するエントリをすべて削除後、下にある[子オブジェクトすべてのアクセス許可エントリを、……](OSによっては[子オブジェクトのアクセス許可すべてを、……]などとなっている)のチェック・ボックスをオンにする。

ACLの継承の強制
このフォルダに与えられているACLを、この子フォルダやその中にあるファイルなどへ強制的に適用させることができる。
親から継承しているACEのみを残し、ほかはすべて削除した。
これをオンにして、子フォルダへ強制的に複製させる。

 オンにしてから[OK]や[適用]ボタンをクリックすると次のような確認ダイアログが表示されるので、[はい]を選択する。これで、同じACLがこのフォルダ以下のすべてファイルやフォルダに再帰的に継承される。

ACLの変更の確認
これを許可すると、子フォルダ以下に対して、このフォルダのACLが強制的に適用される。
これをクリックすると、変更作業が行われる。ただしアクセス権を変更する権限がない場合はエラーになるので、TIPS「ファイルの所有者を変更する(GUI操作編)」「ファイルの所有者を変更する(コマンド・プロンプト編)」などの方法であらかじめ所有者を変更して、変更の権限を与えておくこと。

icaclsコマンドで操作する方法

 icacls.exeコマンドは、Windows Server 2003 SP2以降で利用可能な、ACLを管理するためのコマンドである。icaclsには/resetというオプションがあり、これを使うと現在のACL設定をリセットして、親から継承しているACEだけにすることが可能である。/Tオプションを付けると再帰的に処理できるので、非常に簡単に、特定のフォルダ以下にあるACLをリセットできる。

 なおWindows Server 2003 SP2に含まれるicacls.exeコマンドには不具合があるので、TIPS「icaclsコマンドでファイルの所有者を変更する」の方法で最新の修正プログラムを入手しておいていただきたい。

C:\>icacls /? ……ヘルプの表示
……(中略)……
ICACLS <名前> /reset [/T] [/C]
    すべての一致するファイルについて、ACL を継承された既定の ACL と置換します。
……(以下省略)……

 特定のフォルダ以下のACLをリセットして、継承しているACEだけにするには、フォルダ名を指定して/reset /tオプションを指定すればよい。ACEの先頭に表示されている「(I)」が親からの継承を表す。End of Article

C:\MyDocument>icacls Project01 /reset /t ……ACLのリセット
処理ファイル: Project01
処理ファイル: Project01\testdata1.txt
処理ファイル: Project01\testdata2.txt
3 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\MyDocument>icacls Project01 ……ACLの確認。(I) が親からの継承を表す
Project01 BUILTIN\Administrators:(I)(OI)(CI)(F)
          Everyone:(I)(OI)(CI)(RX)
          BUILTIN\Users:(I)(OI)(CI)(F)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

この記事と関連性の高い別のWindows TIPS
caclsコマンドの出力の見方
アクセス制御リストACLとは?
icaclsコマンドでアクセス制御リスト中のメンバーを検索する
caclsコマンドでACLを編集する
有効なファイル・アクセス権を調査する
icaclsコマンドでファイルのアクセス制御リストACLを保存/復元する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH

「ITmedia マーケティング」新着記事

節約が必要な背景は「年収が上がると思えない(57.5%)」から〜調査データランキングTOP10
「調査のチカラ」で人気がある調査データを紹介します。「最も休日が多い職種は? 休日数...

第1回 「見込み客」が、「こっちを振り向いてくれる」瞬間を見極める
見込み客の検討プロセスを後押しし、その検討度合いを把握し、しかるべきタイミングで営...

#3 『仮設』検証で考えるプロダクトマーケティング
日本ではサービス開発の際、「いいものを作ろう」という圧力の高さゆえ、一発必中を狙っ...