Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

ICACLS

ICACLSというコマンドがあることを知った。
いくつか例を書く。

I:\>icacls i:\ /grant Administrators:F /T /C
I:ドライブに存在するすべてのファイル、フォルダのAdministratorsのフルアクセス権が追加される。

I:\>icacls i:\ /grant:r Administrators:F /T /C
I:ドライブに存在するすべてのファイル、フォルダのAdministratorsのアクセス権をフルアクセス権に置き換える。

I:\>icacls i:\ /setowner Administrators /T /C
I:ドライブに存在するすべてのファイル、フォルダの所有者をAdministratorsに変更する。

上の例で出てきた書式の意味はこうだ。
icacls コマンド名
i:\ 対象とする場所
/grant アクセス権を追加する
/grant:r アクセス権を置き換える
/setowner 所有者を変更する
Administrators この名前に対して与えられる
:F フルアクセス権を与える
/T 指定したディレクトリ以下のすべてに対して実行する
/C エラーが発生しても処理を続行する

すべてのファイル、フォルダのアクセス権と所有者の変更を一発で済ませてしまうことのできる便利なコマンドだ。

I:\>icacls /?

ICACLS <名前> /save [/T] [/C] [/L] [/Q]
すべての一致する名前の ACL を に格納して、後で /restore で
指定できるようにします。

ICACLS <ディレクトリ> [/substitute <旧 SID> <新 SID> […]] /restore: [/C] [/L] [/Q]
格納されている ACL を <ディレクトリ> 内のファイルに適用します。

ICACLS <名前> /setowner <ユーザー> [/T] [/C] [/L] [/Q]
すべての一致する名前の所有者を変更します。

ICACLS <名前> /findsid [/T] [/C] [/L] [/Q]
が明示されている ACL を含むすべての一致する名前を検索します。

ICACLS <名前> /verify [/T] [/C] [/L] [/Q]
ACL が正規の形式ではないか長さが ACE 数と一致しないすべてのファイルを
検索します。

ICACLS <名前> /reset [/T] [/C] [/L] [/Q]
すべての一致するファイルについて、ACL を継承された既定の ACL と置換します。

ICACLS <名前> [/grant[:r] :perm[…]]
[/deny :perm […]]
[/remove[:g|:d]] […]] [/T] [/C] [/L] [/Q]
[/setintegritylevel Level:policy[…]]

/grant[:r] :perm は、指定されたユーザー アクセス権を付与します。
:r を指定すると、以前に付与されたすべての明示的なアクセス許可は新しい
アクセス許可に置き換えられます。
:r を指定しない場合、新しいアクセス許可は以前に付与された明示的な
アクセス許可に追加されます。

/deny :perm は、指定されたユーザー アクセス権を明示的に否定します。
指定されたアクセス許可の明示的な否定 ACE が追加され、明示的な許可内容
に含まれた同じアクセス許可は削除されます。

/remove[:[g|d]] は、ACL 内にあるすべての を削除します。
:g を指定すると、その SID に対して許可されたすべての権限を ACL から
削除します。
:d を指定すると、その SID に対して否定されたすべての権限を ACL から
削除します。

/setintegritylevel [(CI)(OI)] レベルは、すべての一致するファイルに整合性
ACE を追加します。このレベルは次の 1 つとして指定されます。
L[ow]
M[edium]
H[igh]
整合性 ACE の継承オプションは、レベルの前に配置でき、
ディレクトリに対してのみ適用されます。

/inheritance:e|d|r
e – 継承を有効にします。
d – 継承を無効にし、ACE をコピーします。
r – 継承された ACE をすべて削除します。

注意:
は数値形式またはフレンドリ名形式で指定できます。数値形式の場合は、
SID の始めに * を付けます。

/T は、<名前> で指定されたディレクトリ以下のすべての一致するファイルと
ディレクトリに対してこの処理が実行されることを指定します。

/C は、どのようなファイル エラーが発生してもこの処理が続行されることを
指定します。ただしエラー メッセージは表示されます。

/L は、この処理がターゲットではなくシンボリック リンク自体に対して実行
されることを指定します。

/Q は、icacls が成功のメッセージを抑制することを指定します。

ICACLS は、ACE エントリの正規の順序を維持します:
明示的な否定内容
明示的な許可内容
継承された否定内容
継承された許可内容

perm はアクセス許可マスクであり、次の 2 種類の方法で指定できます:
単純な権限を列挙:
F – フル アクセス権
M – 変更アクセス権
RX – 読み取りと実行のアクセス権
R – 読み取り専用アクセス権
W – 書き込み専用アクセス権
特定の権限をコンマ区切りでかっこ内に列挙:
D – 削除
RC – 読み取り制御
WDAC – DAC の書き込み
WO – 所有者の書き込み
S – 同期
AS – システム セキュリティへのアクセス
MA – 無制限
GR – 一般的な読み取り
GW – 一般的な書き込み
GE – 一般的な実行
GA – 一般的なすべての操作
RD – データ読み取り/ディレクトリの一覧表示
WD – データ書き込み/ファイルの追加
AD – データの追加/サブディレクトリの追加
REA – 拡張属性の読み取り
WEA – 拡張属性の書き込み
X – 実行/スキャン
DC – 子の削除
RA – 属性の読み取り
WA – 属性の書き込み
継承権限はどちらの形式の前にも配置でき、ディレクトリにのみ適用され
ます:
(OI) – オブジェクト継承
(CI) – コンテナ継承
(IO) – 継承のみ
(NP) – 継承を適用しない

例:

icacls c:\windows\* /save /T
– c:\windows より下にあるすべてのファイルとサブディレクトリの ACL を
に保存します。

icacls c:\windows\ /restore
内のファイルのうち c:\windows とそのサブディレクトリ
内に存在するすべてのファイルの ACL を復元します。

icacls <ファイル> /grant Administrator:(D,WDAC)
– Administrator ユーザーに、<ファイル> に対する削除および DAC 書き込み
のアクセス許可を与えます。

icacls <ファイル> /grant *S-1-1-0:(D,WDAC)
– SID S-1-1-0 によって定義されたユーザーに、<ファイル> に対する削除
および DAC 書き込みのアクセス許可を与えます。

I:\>

ちょっと冗長になるけど、HELPの内容をコピペしておく。
今まで、マウスでカチカチやってたのが嘘のようだ。知は楽なり。調べてみるもんだな。

このエントリーをはてなブックマークに追加

Posted under: Vista Business 64BIT


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.