すべてはここに書いている通りなんだけど、備忘として残す
尚、タイトルで Windows 10 に言及したのは 10 でしか確認してないから
GUI から削除の拒否権限を設定した場合と、icacls で削除の拒否権限を設定した場合に動作に差が生じる
今回は GUI と CUI で Everyone に対する削除の拒否権限を追加
c:\Users\local01\Desktop>icacls test_gui
test_gui Everyone:(OI)(CI)(DENY)(D)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
BUILTIN\Administrators:(I)(OI)(CI)(F)
DESKTOP-U5VG2PL\local01:(I)(OI)(CI)(F)
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
c:\Users\local01\Desktop>icacls test_cui /deny Everyone:(OI)(CI)(D)
処理ファイル: test_cui
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
c:\Users\local01\Desktop>icacls test_cui
test_cui Everyone:(OI)(CI)(DENY)(D)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
BUILTIN\Administrators:(I)(OI)(CI)(F)
DESKTOP-U5VG2PL\local01:(I)(OI)(CI)(F)
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
どっちも "Everyone:(OI)(CI)(DENY)(D)" になってる
でも CUI からアクセスした場合には拒否になる
ちょっと見にくいけど、右が GUI で設定したほうで正常にアクセスできて、左が CUI で設定したほうでアクセス拒否になる
この原因は冒頭に記載した技術情報のこれ
– 注意点
icacls コマンドのヘルプでは、"D -削除のアクセス権" と記載されておりますが、下記コマンド例のように、"削除 (DELETE)" の権限を拒否設定する場合に、(D) を使用すると、/deny <ユーザー名> に指定したユーザーが、コマンド実行対象のファイルやフォルダーにアクセスできなくなります。
これは、“(拒否対象の権限)” に (D) を指定することで、"削除 (DELETE)" の権限だけで無く、"同期 (SYNCHRONIZE)" の権限も拒否されることによる動作となります。
なので権限付与するときは (DE) で付与すること
c:\Users\local01\Desktop>icacls test_cui /deny Everyone:(OI)(CI)(DE)
処理ファイル: test_cui
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
c:\Users\local01\Desktop>icacls test_cui
test_cui Everyone:(OI)(CI)(DENY)(D)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
BUILTIN\Administrators:(I)(OI)(CI)(F)
DESKTOP-U5VG2PL\local01:(I)(OI)(CI)(F)
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
アクセスもちゃんとできる