前回は、ファイルのアクセス権限の付与と削除(/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>
先ほどあったアカウントの表示が消えていますが、よくわかりません。
ファイルのプロパティを見てみましょう。
確かに消えています。
コメント