Как заменить разрешения и все внутри с 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 флаг.

Другие вопросы по тегам