NTFSのアクセス権の管理は、特にコピーや移動後にアクセス権が適切に設定されていない場合など、時に非常に面倒な作業になることがあります。Windowsに搭載されているiCACLSツールは実は非常に便利です。使い方さえ覚えてしまえば、アクセス権の表示、エクスポート、復元が簡単に行えます。正直なところ、多くの人がこれを見落としているのが不思議ですが、アクセス権に問題がある場合は、頭を悩ませることなく、これが最も手っ取り早い解決策になるかもしれません。ただし、一部のコマンドは少し扱いにくく、注意が必要なので注意してください。理由は分かりませんが、Windowsは必要以上に複雑にしているのでしょう。さて、ここではアクセス権の管理と復元タスクにiCACLSを使用する方法を簡単に説明します。
WindowsでiCACLSを使用してNTFS権限を修正する方法
iCACLS を使用して権限を表示および管理する
おそらく、あなたがここにいる主な理由は、誰が何にアクセスできるかを確認したい、あるいは文字化けした権限を修正したいということでしょう。権限を確認するコマンドは非常にシンプルです。
icacls 'C:\Share\Veteran\'
これにより、割り当てられた権限を持つユーザーとグループのリストが出力されます。「F」(フルコントロール)や「RX」 (読み取りと実行)などの略語が使われています。権限の継承は少し分かりにくいかもしれません。権限がカスケードされるか、そのまま維持されるかはルールによって決まるからです。 (OI)や(CI)などの継承フラグは、オブジェクトとフォルダが親ディレクトリから権限を継承するかどうかをWindowsに指示します。
権限を手動で変更するには、次のような一般的なコマンドを使用します。
icacls 'C:\Share\Veteran\' /grant resource\mun-fs01_Auditors:RX— 読み取りと実行を許可icacls 'C:\Share\Veteran\' /remove resource\mun-fs01_Auditors— ACLからユーザー/グループを削除しますicacls 'C:\Share\Veteran\' /inheritance:e— 親からの継承を有効にするicacls 'C:\Share\Veteran\' /inheritance:r— 継承を無効にし、既存の継承された権限を削除しますicacls 'C:\Share\Veteran\' /setowner resource\j.smith /T /C /L /Q— フォルダの所有権を別のユーザーに変更する
警告: 権限を変更するときは、設定を間違えるとロックアウトされたり、情報が公開されたままになったりする可能性があるため、変更後の状態を再確認することをお勧めします。
大きな変更の前に権限をバックアップする
権限をいじったり、大量のファイルを移動したりする場合は、権限をバックアップしておくとトラブルを回避できます。フォルダ(サブフォルダとファイルを含む)のすべての権限をエクスポートするコマンドは以下のとおりです。
icacls g:\veteran /save c:\backup\veteran_ntfs_perms.txt /t /c
ここで、/t はサブフォルダの奥深くまで確実にアクセスし、/c はアクセス権限がない可能性のあるエラーをスキップします。ただし、ファイル数が多い場合は少し時間がかかる場合があることに注意してください。
保存したveteran_ntfs_perms.txtをメモ帳などのお気に入りのエディタで開いてください。たくさんのSDDL文字列が表示されます。一見難解に見えますが、基本的にはWindowsに各オブジェクトの正確な権限を伝えるものです。新しいフォルダの権限を変更する必要がある場合は、これらの文字列を調整するか、テキストファイル内でフォルダ名を直接置き換えてください。
バックアップからの権限の復元
権限がおかしくなったときに便利なのがこれです。バックアップファイルから権限を復元するには、次のコマンドを実行します。
icacls g:\ /restore c:\backup\veteran_ntfs_perms.txt /t /c
復元する際は、特定のフォルダではなく親ディレクトリを指定することに注意してください。ファイルは相対パスを使用しているため、ファイルを移動したりフォルダ名を変更したりした場合は、復元前にテキストファイルを開いて「検索と置換」を実行し、フォルダ名を変更する必要がある場合があります。
権限をデフォルトにリセットする
権限が混乱していて最初からやり直したい場合は、簡単な方法があります。
icacls C:\share\veteran /reset /T /Q /C
これにより、親から継承する権限がリセットされ、カスタム ACL がクリアされます。これは、アクセスの問題をトラブルシューティングする場合や、単に白紙の状態に戻したい場合に非常に役立ちます。
あるフォルダから別のフォルダへの権限のコピー
新しいフォルダにも同じ権限を適用したい場合があります。元のフォルダの権限をバックアップし、新しい場所に復元することで簡単に実現できます。まず、次のようにバックアップします。
icacls 'C:\Share\Veteran' /save C:\PS\save_ntfs_perms.txt /c
その後、それらをターゲット フォルダーに復元できます。
icacls D:\Share /restore C:\PS\save_ntfs_perms.txt /c
対象フォルダの名前が異なる場合は、 save_ntfs_perms.txtファイルを開き、元のフォルダ名を新しい名前に置き換えてください。変更を保存したら、次のコマンドを実行してください。
icacls D:\ /restore C:\PS\save_ntfs_perms.txt /c
あるいは、より速く、より視覚的なアプローチとして、PowerShell を使用すると、同じことを 1 回で実行できます。
Get-Acl -Path 'C:\Share\Veteran' | Set-Acl -Path 'E:\PublicDOCS'
この行は、1 つのフォルダーから権限を取得し、それを別のフォルダーに直接適用するだけなので、非常に便利で、緊急時にエラーが発生する可能性が低くなります。
総じて、iCACLSは最もユーザーフレンドリーなツールとは言えませんが、コマンドさえ理解すれば問題なく作業は完了します。ただし、権限の解除やバックアップの復元を行う際は注意が必要です。タイプミスやフォルダ名の間違いは、面倒な作業を引き起こす可能性があります。
まとめ
icaclsファイル/フォルダーの権限を表示するために使用します。- 大きな変更を加えたり、データを移動したりする前に、ACL をバックアップしてください。
- 必要に応じて編集した後、を使用して権限を復元します
icacls /restore。 - 権限をデフォルトにリセットします
icacls /reset。 - 一貫性を保つために、必要に応じて、あるフォルダーから別のフォルダーに権限をコピーします。
まとめ
これが、誰かのアクセス権限に関する問題をあまり手間をかけずに解決するのに役立つことを願っています。NTFSのアクセス権限は、慎重に扱わないと面倒な作業になりがちですが、これらのコマンドを使えば、少なくとも管理は容易です。バックアップを手元に用意し、設定内容を二重に確認してください。通常、アクセス権限はファイルの共有やコピーのボトルネックとなるため、簡単に修正する方法を知っておくと、多くのストレスから解放されます。幸運を祈ります。そして、アクセス権限が常に適切に保たれますように。