Если я использую ICACLS.exe для установки разрешений для папки с помощью такой команды, как
icacls "C:\Some\Directory" /grant "somedomain\someUser:(OI)(CI)F" /t
зачем нужна опция / t? Разве это не тот случай, когда (OI) (CI) приведет к наследованию разрешений для всех объектов в C:\Some\Directory
дереве?
Чтобы быть более конкретным, предположим, что в моем примере выше у меня есть каталог C:\Some\Directory\Tree
. Предположим, что этот каталог не имеет явных разрешений. Добавление явного разрешения "somedomain \ someUser: (OI) (CI) F" к этому каталогу ничего не даст, поскольку он уже унаследован. Icacls даже делает это? (Изменить: да, если вы будете ждать достаточно долго!) Поэтому, если я знаю, что у дерева каталогов нет явных разрешений, мне действительно не нужна опция / t (которая тратит огромное количество времени на дерево каталогов 8 ТБ с сотнями миллионы файлов ...)
источник
(OI)(CI)/t
установит наследование,(OI)(CI)
если оно вообще не установлено, не установлено(IO)
или не является какой-либо другой комбинацией, кроме(OI)(CI)
Некоторые эксперименты с тривиальным деревом каталогов показывают, что:
1) (OI) (CI) действительно приводит к тому, что разрешения наследуются - как, конечно, унаследованные ACE в DACL, а не явные ACE - для всех подобъектов (учитывая, что наследование не было отключено для подобъекта) , как и следовало ожидать.
2) Параметр / t заставляет icacls обойти дерево и добавить точно такое же разрешение для каждого подкаталога, что и явное разрешение.
В результате, если взглянуть на разрешения безопасности для подкаталога, вы увидите две идентичные записи, одна из которых является унаследованным разрешением, а другая - явным параметром разрешения каталога (если только наследование не было отключено в подкаталоге или другом вмешательстве). каталог).
Хочет это или нет - другой вопрос, но, скорее всего, нет. Наличие разрешения, указанного дважды, не особенно полезно, если только не произойдут какие-либо изменения в будущем, от которых вам нужно защититься.
В массивной файловой системе это может занять слишком много времени.
Тот факт, что в документации указано «установлены ли они для наследования разрешений», возможно, предупреждает вас:
1) копирование в качестве явных разрешений для всех подкаталогов может не потребоваться, если разрешение содержит
(OI)(CI)
но
2) если подкаталог установлен не наследовать разрешения, это на самом деле выполняет нечто существенное: в таком каталоге разрешение не будет унаследовано от родителя (то есть
(OI)(CI)
наследование подавлено), но оно все равно будет существовать благодаря добавлено как явное разрешение.источник