Использование 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
Я хочу удалить все ACL кроме SYSTEM
, и добавить<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
заменил все разрешения? Знаете ли вы, какую команду мне нужно выполнить, чтобы удалить все остальные разрешения?
windows-server-2008-r2
windows
windows-server-2012-r2
icacls
Марк Эллисон
источник
источник
cacls c:\temp\test /t /g <DOMAIN>\<USER>:F
но я слышал, что icacls заменил ее. Может ли кто-нибудь показать мне эквивалентную версию icacls для того же поведения?/grant:r
удаляет только существующие явные разрешения, а не унаследованные, из папки выше. Вы должны были бы включить/inheritance:r
также.NOTE: Cacls is now deprecated, please use Icacls.
cacls.exe
может установить ACL в неправильном порядке, что может вызвать проблемы (я оставлю это в качестве упражнения для читателя).Ответы:
Как уже упоминалось, это комментарии, вы также должны использовать
/inheritance:r
переключатель, чтобы удалить унаследованные разрешения./grant:r
удаляет только явные разрешения.Также предоставить
SYSTEM
:источник
Параметр
/grant:r
не работал для меня. Мне пришлось использовать,/reset
чтобы отменить разрешения только для наследования, а затем удалить унаследованные разрешения. Не забудьте поменять подкаталоги с/t
флагом.источник