У меня вопрос о ACL в сетевой файловой системе.Быстрая настройка Inheritable ACE в больших сетевых файловых системах
В принципе, я хочу установить разрешение на объект папки верхнего уровня, у которого есть потенциально 100 000+ файлов и файлов под ним. Я хочу, чтобы разрешение наследовалось через все подпапки и вспомогательные файлы (IE 'Применяется к файлам, папкам и подпапкам' is true).
Я не хочу, чтобы громить любые существующие разрешения, наследуемые (IE «Заменить все разрешения дочернего объекта с наследуемыми от этого объекта» является ложным ).
Итак, когда я запускаю Set-ACL, SetACL.exe, XCACLS.vbs или даже использует графический интерфейс Windows, для завершения процесса требуется очень много времени - очевидно, из-за большого размера суб каталог.
Я привык к этому сейчас, НО:
Я хотел бы знать - почему именно это?
В конце дня, не я пишу только один ACE на одном объекте одной папки?
- Я не пересекаю каталог;
- Я не изменяю отдельные списки управления доступом в дополнительных файлах и папках (я не думаю); и
- Я не замещающие права
Я предположил, что если вы получили доступ к объекту подпапку/файл, он будет проверить это явные АСЕ, чтобы увидеть, если у вас разрешения, и если вы не имеете его , тогда он будет проверять любые наследуемые разрешения (из объектов родительских папок), которые могут дать вам доступ.
Итак, устанавливает ли наследуемое разрешение также отдельный отдельный ACE для каждого отдельного файла и папки, даже если вы технически устанавливаете только один ACE на верхнем уровне?
Есть ли какой-либо способ установить ACE на верхнем уровне и не иметь команду для перехода и перечисления по всей вспомогательной директории? Я хочу сделать это быстро и эффективно на огромном количестве файлов и папок.
Надеюсь, это имеет смысл. С нетерпением ждем предложений.
Рис.
Спасибо за ответ. Я просмотрел http://www.gbordier.com/gbtools/fileacl.asp и, похоже, имеет флаг/NOPROPAGATE с использованием более старого API безопасности.? –
да. но походит на отмену отметки на вкладке безопасности, чтобы не наследовать дочерние элементы. Проверьте скорость файла fileacls.exe, возможно, лучше командлет set-acl. –
У меня тоже была игра. Я думаю, что в конце дня нет никакого реального пути, я просто должен ждать, пока скрипт изменит ACL во всех подпапках и файлах. Я изучаю использование удаленного доступа PowerShell, чтобы разгрузить обработку на разные серверы сразу, чтобы посмотреть, можно ли ускорить его выполнение. Я также вижу некоторые существенные улучшения производительности, используя .NET 4.5 и PowerShell 3, что является положительным знаком. Спасибо за вашу помощь :) –