Windowsコマンド(icacls)(その4)

前回は、ファイルのアクセス権限の付与と削除(/grant /remove)を使ってみました。

今回は、ファイル作成者以外の権限を一発で削除してみます。

icaclsのオプションの、/inheritanceを使います。

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

では最初に、実験用ファイルを作成。


C:\Users\takk\Desktop>echo HELLO > test.txt

C:\Users\takk\Desktop>icacls test.txt
test.txt S-1-5-21-282166592-494520350-4258074492-1003:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administrators:(I)(F)
         DESKTOP-TRO4JUU\takk:(I)(F)

1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Users\takk\Desktop>

今作成したtest.txtには、4つのアカウント(SID)にフルコントロールが付与されていますね。
全部の権限を削除してみます。

C:\Users\takk\Desktop>icacls test.txt /inheritance:r
処理ファイル: test.txt
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Users\takk\Desktop>

これで削除されました。
確認してみます。

C:\Users\takk\Desktop>icacls test.txt
test.txt
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした

C:\Users\takk\Desktop>

先ほどあったアカウントの表示が消えていますが、よくわかりません。
ファイルのプロパティを見てみましょう。

確かに消えています。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA