Как заменить разрешения и все внутри с icacls на Windows Server 2012?
Использование 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
заменены все разрешения? Знаете ли вы, какую команду мне нужно выполнить, чтобы удалить все остальные разрешения?
2 ответа
Как уже упоминалось, комментарии, вы также должны использовать /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
флаг.