Windows-Server-2008-R2

如何在 Windows Server 2012 上用 icacls 替換權限和里面的所有內容?

  • December 30, 2017

使用 Windows Server 2012 R2 和 Windows Server 2008 R2。

我有一個名為的文件夾C:\temp\test,我想授予SYSTEM使用者和所有文件和子目錄的訪問權限,並刪除其他所有內容。我已經嘗試過這個命令,但所有現有的權限仍然存在:

現有權限為:

Access : NT AUTHORITY\SYSTEM Allow  FullControl
        BUILTIN\Administrators Allow  FullControl
        BUILTIN\Users Allow  ReadAndExecute, Synchronize
        BUILTIN\Users Allow  AppendData
        BUILTIN\Users Allow  CreateFiles
        CREATOR OWNER Allow  268435456

我想刪除除SYSTEM, 之外的所有 ACL 並添加<DOMAIN>\<USER>

我試過這個命令:

icacls c:\temp\test /grant:r <DOMAIN>\<USER>:(OI)(CI)F /t

processed file: c:\temp\test
Successfully processed 1 files; Failed processing 0 files

當我之後查看權限時,它<DOMAIN>\<USER>具有正確的權限,但所有其他權限仍然存在。我以為/grant:r更換了所有權限?你知道我需要執行什麼命令來刪除所有其他權限嗎?

正如所提到的評論,您還必須使用/inheritance:r開關來刪除繼承的權限。

/grant:r僅刪除顯式權限。

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /T

還授予SYSTEM

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F /T

該參數/grant:r對我不起作用。我不得不使用/reset僅將權限恢復為繼承,然後刪除繼承的權限。不要忘記使用/t標誌更改子目錄。

引用自:https://serverfault.com/questions/578129