こんにちは。
インフラ関連作業をしております、Fと申します。
業務でファイルサーバの運用をやっておりますので、アクセス権限の設定で
お世話なっている『icacls』について私自身の備忘録も兼ねて記載したいと思います。
最近では、ファイルサーバのアクセス権限の設定をPowerShell(set-acl など)で
行われている方も多いかと思いますが、私は、使い慣れた『icacls』を使用しております。
私は、業務で以下の使い方をしております。
アクセス権限の確認)
icacls [ 対象フォルダ or 対象ファイル ]
c:\zzz>icacls "c:\zzz\aaa" c:\zzz\aaa BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルに付与されているアクセス権限を確認します。
アクセス権限を確認し、アクセス権限を付与するなどの操作を行います。
アクセス権限の付与1)
icacls [ 対象フォルダ or 対象ファイル ] /grant [設定するアカウント]:[追加する権限]
c:\zzz>icacls "C:\zzz\aaa\ccc" C:\zzz\aaa\ccc BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ccc" /grant hoge:(OI)(CI)(M,DC) 処理ファイル: C:\zzz\aaa\ccc 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ccc" C:\zzz\aaa\ccc PC名\hoge:(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルに特定のアカウントのアクセス権限を付与します。
様々な権限が用意されており、詳細にアクセス権限が付与できます。
アクセス権限の[追加する権限]の種類は、icaclsのヘルプで確認できます。
アクセス権限の付与2)
icacls [ 対象フォルダ or 対象ファイル ] /deny [設定するアカウント]:[追加する権限]
c:\zzz>icacls "C:\zzz\aaa\ddd" C:\zzz\aaa\ddd BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ddd" /deny hoge:(OI)(CI)(M,DC) 処理ファイル: C:\zzz\aaa\ddd 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ddd" C:\zzz\aaa\ddd PC名\hoge:(OI)(CI)(DENY)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルに特定のアカウントのアクセスを拒否する設定を付与します。
私は、数回だけですが使用しました。
アカウントの削除)
icacls [ 対象フォルダ or 対象ファイル ] /remove [削除するアカウント]
c:\zzz>icacls "C:\zzz\aaa\ccc" C:\zzz\aaa\ccc PC名\hoge:(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ccc" /remove hoge 処理ファイル: C:\zzz\aaa\ccc 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\aaa\ccc" C:\zzz\aaa\ccc BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルに設定されているアカウントとアクセス権限を削除します。
アクセス権限の継承の解除)
icacls [ 対象フォルダ or 対象ファイル ] /inheritance:d
c:\zzz>dir /on "C:\zzz\bbb" ドライブ C のボリューム ラベルは Windows です ボリューム シリアル番号は xxxx-xxxx です C:\zzz\bbb のディレクトリ YYYY/MM/DD 22:48 <DIR> . YYYY/MM/DD 22:47 <DIR> .. YYYY/MM/DD 22:48 <DIR> eee YYYY/MM/DD 22:48 <DIR> fff 0 個のファイル 0 バイト 4 個のディレクトリ nnn,nnn バイトの空き領域 c:\zzz>icacls "C:\zzz\bbb" C:\zzz\bbb BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" C:\zzz\bbb\eee BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\fff" C:\zzz\bbb\fff BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" /inheritance:d 処理ファイル: C:\zzz\bbb\eee 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" C:\zzz\bbb\eee BUILTIN\Administrators:(OI)(CI)(F) NT AUTHORITY\SYSTEM:(OI)(CI)(F) BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(M) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb" /grant hoge:(OI)(CI)(M,DC) 処理ファイル: C:\zzz\bbb 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb" C:\zzz\bbb PC名\hoge:(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" C:\zzz\bbb\eee BUILTIN\Administrators:(OI)(CI)(F) NT AUTHORITY\SYSTEM:(OI)(CI)(F) BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(M) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\fff" C:\zzz\bbb\fff PC名\hoge:(I)(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルの上位のフォルダから継承しているアクセス権限の継承を解除します。
アクセス権限の継承)
icacls [ 対象フォルダ or 対象ファイル ] /reset
c:\zzz>dir /on "C:\zzz\bbb" ドライブ C のボリューム ラベルは Windows です ボリューム シリアル番号は xxxx-xxxx です C:\zzz\bbb のディレクトリ YYYY/MM/DD 22:48 <DIR> . YYYY/MM/DD 22:47 <DIR> .. YYYY/MM/DD 22:48 <DIR> eee YYYY/MM/DD 22:48 <DIR> fff 0 個のファイル 0 バイト 4 個のディレクトリ nnn,nnn バイトの空き領域 c:\zzz>icacls "C:\zzz\bbb" C:\zzz\bbb PC名\hoge:(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" C:\zzz\bbb\eee BUILTIN\Administrators:(OI)(CI)(F) NT AUTHORITY\SYSTEM:(OI)(CI)(F) BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(M) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\fff" C:\zzz\bbb\fff PC名\hoge:(I)(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" /reset 処理ファイル: C:\zzz\bbb\eee 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb" C:\zzz\bbb PC名\hoge:(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\eee" C:\zzz\bbb\eee PC名\hoge:(I)(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>icacls "C:\zzz\bbb\fff" C:\zzz\bbb\fff PC名\hoge:(I)(OI)(CI)(M,DC) BUILTIN\Administrators:(I)(OI)(CI)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) 1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした c:\zzz>
対象のフォルダ、ファイルの上位のフォルダに設定されているアクセス権限を継承します。
他にもあるのですが、私が業務で使用したのは、以上です。
今回記載したものが、少しでも皆さんのお役に立てましたら幸いです。
お読み頂きありがとうございました。