【Windows】icacls命令を使いフォルダの利用許可設定を強制的に上書きする手順

【Windows】icacls命令を使いフォルダの利用許可設定を強制的に上書きする手順
🛡️ 超解決

共有フォルダや特定のファイルへのアクセスが制限され、業務に支障が出ることがあります。

通常のアクセス許可設定では変更できない場合、Windowsのicaclsコマンドで強制的に上書きできます。

この記事では、icaclsコマンドを使ってフォルダのアクセス許可を再設定する詳細な手順を解説します。

【要点】icaclsコマンドでフォルダのアクセス許可を制御する

  • icaclsコマンド: フォルダやファイルのアクセス許可を強力に制御し、上書きできます。
  • アクセス拒否の解除: 必要なユーザーやグループに適切なアクセス権限を付与し、アクセスを可能にします。
  • 権限の継承設定: フォルダのサブフォルダやファイルへの権限継承を管理し、一貫したセキュリティを維持します。

ADVERTISEMENT

icaclsコマンドとは?アクセス許可管理の基本

icaclsコマンドは、Windowsのコマンドラインでファイルやフォルダのアクセス制御リスト ACL を表示、変更、バックアップ、復元するためのツールです。通常のプロパティ画面から変更できないような、より詳細なアクセス許可設定を操作できます。

ACLとは、ファイルやフォルダに対してどのユーザーやグループがどのような操作 読み取り、書き込み、実行など を行えるかを定義したリストです。icaclsコマンドを使うと、このACLを直接編集し、アクセス許可を強制的に上書きできます。

このコマンドは、アクセス権限のトラブルシューティングや、特定のユーザーに強力な権限を付与する際に非常に役立ちます。実行には管理者権限が必要です。管理者として起動したコマンドプロンプトまたはWindowsターミナルから操作してください。

Windowsのアクセス許可の種類

Windowsのアクセス許可には、以下のような種類があります。icaclsコマンドで付与する際は、これらの略称を使用します。

  • F (Full control): フルコントロール。全ての操作が可能です。
  • M (Modify): 変更。読み取り、書き込み、実行、削除が可能です。
  • RX (Read & Execute): 読み取りと実行。ファイルやフォルダの内容を読み取り、プログラムを実行できます。
  • R (Read): 読み取り。ファイルやフォルダの内容を読み取れます。
  • W (Write): 書き込み。ファイルやフォルダに書き込めます。
お探しの解決策が見つからない場合は、こちらの「Windowsトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

icacls命令を使いフォルダの利用許可設定を強制的に上書きする手順

icaclsコマンドを使用して、フォルダのアクセス許可設定を強制的に上書きする手順を解説します。この操作はWindows 11を基準にしていますが、Windows 10でも同様の手順で実行できます。

  1. コマンドプロンプトを管理者として起動する
    スタートボタンを右クリックし、表示されるメニューから「ターミナル 管理者」または「コマンドプロンプト 管理者」を選択します。ユーザーアカウント制御のダイアログが表示されたら「はい」をクリックして許可します。
  2. 現在のアクセス許可を確認する
    アクセス許可を変更したいフォルダの現在の設定を確認します。以下のコマンドを実行し、「C:\対象フォルダ」の部分を実際のパスに置き換えてください。
    icacls "C:\対象フォルダ"
    このコマンドは、指定したフォルダに設定されている全てのアクセス制御リスト ACL を表示します。表示される情報には、ユーザーやグループ名、そして付与されている権限の種類が含まれます。
  3. 既存のアクセス許可をリセットする
    フォルダのアクセス許可を初期状態に戻したい場合、または複雑な設定を一度クリアしたい場合にこの手順を実行します。以下のコマンドで、継承されたアクセス許可を復元し、明示的に設定されていたアクセス許可を削除できます。
    icacls "C:\対象フォルダ" /reset
    /resetオプションは、親フォルダから継承された権限を再適用し、そのフォルダに直接設定されていた明示的な権限を全て削除します。これにより、予期しない権限が残ることを防ぎ、クリーンな状態から設定を開始できます。
  4. 新しいアクセス許可を付与する
    特定のユーザーやグループに新しいアクセス許可を付与します。以下のコマンドを実行してください。「C:\対象フォルダ」は実際のパスに、「ユーザー名」は権限を付与したいユーザーまたはグループ名に置き換えます。例えば「Everyone」と指定すると全てのユーザーが対象です。
    icacls "C:\対象フォルダ" /grant ユーザー名:F /T /C

    • /grant: 指定したユーザーやグループにアクセス許可を付与するオプションです。
    • ユーザー名:F: ここでは「F」フルコントロール を付与しています。必要に応じて「M」変更 や「R」読み取り などに変更してください。
    • /T: 指定したフォルダ内の全てのサブフォルダとファイルにも同じアクセス許可を適用します。これにより、フォルダ全体に一貫した権限が設定されます。
    • /C: アクセス許可の適用中にエラーが発生しても、処理を続行するオプションです。これにより、一部のファイルでエラーがあっても全体の処理が中断されません。

    また、より詳細な継承設定を行いたい場合は、(OI)(CI)Fのように指定できます。(OI)はオブジェクト継承 Object Inherit でファイルに適用、(CI)はコンテナ継承 Container Inherit でサブフォルダに適用を意味します。

  5. アクセス許可を削除する
    特定のユーザーやグループからアクセス許可を削除したい場合は、以下のコマンドを使用します。「C:\対象フォルダ」と「ユーザー名」を適切に置き換えてください。
    icacls "C:\対象フォルダ" /remove ユーザー名
    このコマンドは、指定したユーザーまたはグループから、そのフォルダに対する全ての明示的なアクセス許可を削除します。継承されたアクセス許可は影響を受けません。
  6. アクセス許可の継承を無効にする
    親フォルダからアクセス許可が継承されるのを止めたい場合、以下のコマンドを実行します。
    icacls "C:\対象フォルダ" /inheritance:d
    /inheritance:dオプションは、親からの継承を無効にし、現在の明示的なアクセス許可のみを維持します。これにより、親フォルダの変更がこのフォルダに影響しなくなります。
  7. アクセス許可の継承を有効にする
    一度無効にした継承を再度有効にするには、以下のコマンドを使用します。
    icacls "C:\対象フォルダ" /inheritance:e
    /inheritance:eオプションは、親からの継承を再度有効にし、継承されたアクセス許可を復元します。この操作により、親フォルダの権限設定がこのフォルダにも適用されるようになります。

icaclsコマンド実行時の注意点と失敗例

icaclsコマンドは強力なツールですが、誤った使い方をするとシステムに深刻な影響を与える可能性があります。以下の注意点を確認し、慎重に操作してください。

コマンドの入力ミスで意図しない権限変更をしてしまう

パスやユーザー名の誤入力、パラメータの誤用は、意図しないアクセス許可の変更を引き起こす可能性があります。例えば、誤ったパスを指定すると、全く別のフォルダの権限を変更してしまうことがあります。

対処法としては、コマンドを実行する前に、入力したパスやユーザー名、オプションが正しいか複数回確認してください。特に重要なフォルダの場合は、事前にバックアップを取ることを検討してください。icacls /?を実行すると、利用可能なオプションと書式を確認できます。

アクセス拒否エラーでコマンドが実行できない

icaclsコマンドは、アクセス許可を変更する性質上、管理者権限が必要です。管理者としてコマンドプロンプトまたはWindowsターミナルを起動していない場合、「アクセスが拒否されました」といったエラーメッセージが表示され、コマンドが実行できません。

対処法は、必ずスタートボタンを右クリックし、「ターミナル 管理者」または「コマンドプロンプト 管理者」を選択して起動することです。標準ユーザーで起動した場合は、管理者権限を持つユーザーのパスワードを求められることがあります。

権限を付与してもアクセスできない場合がある

共有フォルダの場合、icaclsコマンドでNTFSアクセス許可を適切に設定しても、共有アクセス許可が不足しているとアクセスできないことがあります。共有アクセス許可とNTFSアクセス許可は独立して機能し、両方の条件を満たす必要があります。

対処法は、フォルダのプロパティにある「共有」タブも確認し、共有アクセス許可が適切に設定されているかを確認することです。通常は「Everyone」に「読み取り/書き込み」権限を付与し、NTFSアクセス許可で詳細な制御を行うのが一般的です。

予期せぬ継承で権限が上書きされる

親フォルダからのアクセス許可の継承設定が、意図しない権限の上書きを引き起こすことがあります。特に、特定のフォルダに独自の厳密な権限を設定したい場合に、親からの継承が邪魔になることがあります。

対処法は、/inheritance:dオプションを使用して親からの継承を無効にするか、/resetオプションで一度全ての権限をリセットしてから設定し直すことです。継承を無効にした後は、必要なアクセス許可を明示的に付与し直す必要があります。

ADVERTISEMENT

icaclsコマンドとGUIでのアクセス許可設定の違い

icaclsコマンドと、エクスプローラーの「プロパティ」-「セキュリティ」タブから行うGUI グラフィカルユーザーインターフェース でのアクセス許可設定には、いくつかの違いがあります。それぞれの特徴を理解して使い分けましょう。

項目 icaclsコマンド GUI(エクスプローラー)
操作方法 コマンドラインによるテキスト入力 マウス操作とダイアログボックス
適用範囲 システムレベルの詳細なアクセス許可設定、スクリプトによる自動化 一般的なユーザーやグループへのアクセス許可設定
権限強制力 非常に強力、管理者権限があればほぼ全てのアクセス許可を変更可能 通常の操作で変更できない権限には限界がある
複雑性 コマンド構文とオプションの理解が必要、誤操作のリスクがある 直感的で視覚的に分かりやすいが、詳細な設定には向かない
継承制御 /inheritance オプションで親からの継承を詳細に制御可能 プロパティから継承の有効/無効を切り替え
エラー処理 /C オプションでエラーを無視して続行可能、詳細なエラー出力 エラー発生時にダイアログで通知

まとめ

icaclsコマンドは、Windowsのフォルダやファイルのアクセス許可を強力に制御できるツールです。

この記事で解説した手順により、アクセス拒否されたフォルダへの権限を強制的に設定できるようになったはずです。

今後は、アクセス許可の変更やトラブルシューティングにicaclsコマンドを活用し、セキュアなファイル管理を実現してください。

特に、共有フォルダのアクセス問題やシステムファイルの権限修復時には、icaclsコマンドの知識が役立ちます。

💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。