- 2009-06-28 (日) 3:15
- Windows Server 2008
ページ : 1 2 3
<この記事を全て表示する場合はこちらをクリック>
Windows Server 2008のICACLSコマンドの使い方について調べてみました。
ICACLSコマンドは、CACLSコマンドに変わるコマンドラインでファイルのアクセス権限を変更出来る新しいコマンドです。
設定されているアクセス権限を調べてみる
まず、ICACLSで現在設定されているアクセス権限を表示させる方法です。
例えばDドライブのtestというフォルダのアクセス権限を調べる場合には、以下のように入力します。
ICACLS D:\test
入力結果は、以下のような結果になります。
C:\Users\Administrator>ICACLS D:\test
D:\test BUILTIN\Administrators:(I)(OI)(CI)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
CREATOR OWNER:(I)(OI)(CI)(IO)(F)
BUILTIN\Users:(I)(OI)(CI)(RX)
BUILTIN\Users:(I)(CI)(AD)
BUILTIN\Users:(I)(CI)(WD)
このフォルダのアクセス権限は、GUI上から見ると以下のように設定されています。
なんだか難解ですね。
それでは、フォルダのアクセス権をいったん全て削除して、ICACLSコマンドだけを利用して先ほどの権限を復元してみましょう。
サーバの管理者権限を所持していれば、アクセス権が無くても、以下のコマンドで自分割り当てる事が可能です。
takeown /F D:\test
ただし、ICACLSを利用した以下のコマンドでは、所有者の書き換えを行う事は出来ません。
あくまでICACLSを実行する場合には、処理に対する正しいアクセス権限を持っていなければならないようです。
ICACLS D:\test /setowner administrator
アクセス権限の継承
それでは、testフォルダに元の権限を付与してみましょう。
ICACLS D:\test /inheritance:e
実はこの場合は、ややこしく設定する必要はなかったりします。
“/inheritance:e”を設定する事で、親フォルダのアクセス権限の継承が出来るので、削除したアクセス権限を個別に割り当てる必要は無いわけです。
ただしこのままでは厳密に言うと元のアクセス権限とは少しだけ異なっています。”/inheritance:e”でアクセス権限を継承させた場合、以下のようなアクセス権限になります。
アクセス権限の削除
既に設定されているアクセス権限を削除する場合には、以下のようにコマンドを実行します。
ICACLS D:\test /remove:g administrator
ただし、継承されているアクセス権限はこの方法で削除する事は出来ません。
継承が有効になっている場合には、先にアクセス権限の継承を無効にし、アクセス権限をコピーする必要があります。
ただし、以下のようにICACLSを実行しても、上手く動作してくれません。
ICACLS D:\test /inheritance:d /remove:g administrator
継承を無効にしてアクセス権限を削除
少し強引ですが、ICACLSをパイプ”|”で繋いで実行する事で、無理やり一行でコマンドを実行させる事は出来ました。
※もっと効率の良いコマンド記載方法ご存じの方いらっしゃれば教えてください。
ICACLS D:\test /inheritance:d | ICACLS D:\test /remove:g administrator
Popularity: 5% [?]
ページ : 1 2 3
<この記事を全て表示する場合はこちらをクリック>
関連する記事
- Newer : ショートカットファイルの参照先を一括変更するスクリプト
- Older : Windows 7 勉強会キットが公開されています。
Comments:2
Trackbacks:0
- Trackback URL for this entry
- http://pnpk.net/cms/archives/2220/trackback
- Listed below are links to weblogs that reference
- ICACLSを使ってアクセス権限をコマンドラインで変更する方法 from http://pnpk.net



