Windowsコマンド(icacls)

caclsを使おうとすると、icaclsの使用を推奨されるので、icaclsを学習していこうと思います。
まずはヘルプ。

C:\Users\takk>icacls

ICACLS <名前> /save <ACL ファイル> [/T] [/C] [/L] [/Q]
    名前が一致するすべてのファイルとフォルダーの DACL を <ACL ファイル> に
    格納して、後で /restore で指定できるようにします。SACL、所有者、整合性

~省略~

ヘルプが盛りだくさん。
何行あるのでしょうか。

C:\Users\takk\Desktop>icacls | wsl wc -l
136

C:\Users\takk\Desktop>

コマンドがたくさんあるようなので、少しずつ見ていくことにします。

まずはファイル名を指定して実行。

C:\Users\takk\Desktop>icacls test.txt
test.txt DESKTOP-TRO4JUU\testuser2:(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administrators:(I)(F)
         DESKTOP-TRO4JUU\takk:(I)(F)

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

C:\Users\takk\Desktop>

ファイルに付与されている権限が確認できました。
testuser2の権限を削除してみましょう。

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

C:\Users\takk\Desktop>icacls test.txt

0個のファイルを処理できませんでしたって日本語は、何なんでしょう。
まあ、成功したってことですね。

確認してみます。

C:\Users\takk\Desktop>icacls test.txt
test.txt NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administrators:(I)(F)
         DESKTOP-TRO4JUU\takk:(I)(F)

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

C:\Users\takk\Desktop>

testuser2が削除されてます。うまくいきました。

/removeコマンドに関してicaclsのヘルプを確認すると、このような説明となっています。

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

また、よくわからない説明です。:dを指定すると、拒否されたすべての権限・・・。
まあ、やってみればわかることです。

再びtestuser2の権限を与えるために、前回使ったcaclsを使います。(まだicaclsでの権限付与は知らないので・・・)

C:\Users\takk\Desktop>cacls test.txt /e /g testuser2:f
処理ファイル: C:\Users\takk\Desktop\test.txt

C:\Users\takk\Desktop>icacls test.txt
test.txt DESKTOP-TRO4JUU\testuser2:(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administrators:(I)(F)
         DESKTOP-TRO4JUU\takk:(I)(F)

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

C:\Users\takk\Desktop>

では、/remove:d を使ってみましょう。

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

C:\Users\takk\Desktop>

さて、どうなったでしょうか。

C:\Users\takk\Desktop>icacls test.txt
test.txt DESKTOP-TRO4JUU\testuser2:(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administrators:(I)(F)
         DESKTOP-TRO4JUU\takk:(I)(F)

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

C:\Users\takk\Desktop>

ん~。変化なしです。

つづく

Leave a Reply

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

CAPTCHA