Назад | Перейти на главную страницу

Как заменить разрешения и все внутри на 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 заменил все разрешения? Вы знаете, какую команду мне нужно запустить, чтобы удалить все остальные разрешения?

Как упоминалось в комментариях, вы также должны использовать /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 флаг.