Быстрая настройка наследуемых элементов управления доступом в больших сетевых файловых системах - PullRequest
2 голосов
/ 23 марта 2012

У меня есть вопрос, касающийся списков ACL в сетевой файловой системе.

По сути, я хочу установить разрешение для объекта папки верхнего уровня, который потенциально содержит более 100 000 объектов файлов и папок под ним.Я хочу, чтобы разрешение было наследуемым для всех вложенных папок и вложенных файлов (IE ' Применяется к файлам, папкам и подпапкам ' равно true ).

Не знаюне хочу удалять любые существующие унаследованные разрешения (IE ' Заменить все разрешения дочернего объекта на унаследованные разрешения от этого объекта ' равен false ).

Итак, когда яЗапустите Set-ACL, SetACL.exe, XCACLS.vbs или даже используйте Windows GUI, процесс может занять очень много времени - очевидно, из-за большого размера подкаталога.

Я привык к этому сейчас, НО:

Я хотел знать - почему точно это?

В конце концов, разве я не пишу только один ACE на один единственный объект папки?

  • Я не пересекаю каталог;
  • Я не изменяю отдельные списки ACL для вложенных файлов и папок (я не думаю);и
  • Я не заменяю разрешения

Я предполагал, что если вы обращаетесь к объекту подпапки / файла, он проверит его явные записи ACE, чтобы увидеть, есть ли у вас разрешения, и еслиу вас его не было, он тогда проверил бы любые унаследованные разрешения (от объектов родительской папки), которые могли бы дать вам доступ.

Итак, установка наследуемого разрешения также вызывает запись нового отдельного ACEдля каждого отдельного подфайла и папки, даже если технически вы устанавливаете только один ACE на верхнем уровне?

Есть ли какой-либо способ установить ACE на верхнем уровне и не иметьКоманда пойти и перечислить через весь подкаталог?Я хочу сделать это быстро и эффективно для огромного количества файлов и папок.

Надеюсь, это имеет смысл.Ждем любых предложений.

Рис.

1 Ответ

2 голосов
/ 23 марта 2012

Унаследованные разрешения (например, явные) устанавливаются на уровне папки / файла в битовой маске дескриптора безопасности в битовом поле флага ( дополнительная информация ). Вот почему установка разрешений на уровне папок «папа», которые распространяются на потомков (наследование), может быть длительной, зависит от того, сколько на них влияет.

Основываясь на этом, ответ - нет: вы не можете установить ACE на верхнем уровне и не имеете команды для перехода и перечисления по всему подкаталогу.

Вы можете проверить, установлен ли программный явный acl для всех потомков быстрее, чем процесс наследования.

...