У меня возникла проблема с Windows 2012 R2, когда установка разрешений NTFS в корне общего ресурса нарушает наследование, а разрешения NTFS фактически заменяются новым ACE. Единственный способ проиллюстрировать это - показать, как я воспроизвел эту проблему.

Прежде всего, давайте возьмем Share из уравнения - где все работает просто отлично.

Я создал папку в C:\ под названием Data. Если я получу текущий ACL, все выглядит правильно.

C:\>icacls c:\data
c:\data NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
    BUILTIN\Administrators:(I)(OI)(CI)(F)
    BUILTIN\Users:(I)(OI)(CI)(RX)
    BUILTIN\Users:(I)(CI)(AD)
    BUILTIN\Users:(I)(CI)(WD)
    CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Теперь я собираюсь добавить ACE - очень простой.

C:\>icacls c:\data /grant everyone:(RX)
processed file: c:\data
Successfully processed 1 files; Failed processing 0 files

Я могу убедиться, что это сработало, повторно выполнив первую команду.

C:\>icacls c:\data
c:\data Everyone:(RX)
        NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
        BUILTIN\Administrators:(I)(OI)(CI)(F)
        BUILTIN\Users:(I)(OI)(CI)(RX)
        BUILTIN\Users:(I)(CI)(AD)
        BUILTIN\Users:(I)(CI)(WD)
        CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Пока проблем нет. Теперь я удалил ACE и поделился диском C:\Data как Data, используя следующую команду:

Net share Data=C:\Data /grant:Everyone,full

Проверяя ACL этого ресурса, я вижу, что они такие же, как C:\Data - как и должно быть.

C:\>hostname
mgmt57

C:\>icacls \\mgmt57\data
\\mgmt57\data NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
              BUILTIN\Administrators:(I)(OI)(CI)(F)
              BUILTIN\Users:(I)(OI)(CI)(RX)
              BUILTIN\Users:(I)(CI)(AD)
              BUILTIN\Users:(I)(CI)(WD)
              CREATOR OWNER:(I)(OI)(CI)(IO)(F)

Опять же, я добавляю тот же ACE, что и первый, но на этот раз в общий ресурс.

C:\>icacls \\mgmt57\data /grant everyone:(RX)
processed file: \\mgmt57\data
Successfully processed 1 files; Failed processing 0 files

Теперь вы увидите проблему, когда я проверю ACL.

C:\>icacls \\mgmt57\data
\\mgmt57\data Everyone:(RX)

Successfully processed 1 files; Failed processing 0 files

Та же проблема очевидна на локальном диске.

C:\>icacls c:\data
c:\data Everyone:(RX)

Successfully processed 1 files; Failed processing 0 files

Единственный способ, которым я могу исправить этот ACL сейчас, состоит в том, чтобы отметить подсвеченное поле ниже.

Расширенные настройки безопасности для данных

Теперь возникает вопрос - как я могу использовать ICACLS в корне общего ресурса, не повреждая ACL, как я здесь продемонстрировал?

Я могу подтвердить, что:

  • Это не проблема с одним сервером - я воспроизвел эту проблему на многих.
  • Это проблема как для Datacenter, так и для Standard Edition, но я не пробовал ни одной другой ОС, кроме Windows 2012 R2.
  • Серверы полностью обновлены с исправлениями
  • Проблема не возникает, если я добавляю ACE в подпапку в корневом каталоге (например, если я устанавливаю ACL для папки \\server \share \), что означает, что мой текущий обходной путь должен установить ACL на \\server \c $. \данные. ПРИМЕЧАНИЕ. Этот обходной путь требует, чтобы вы были администратором рассматриваемого сервера, поэтому это не решение. В моем случае пользователи, устанавливающие разрешения, не являются администраторами, но имеют достаточные разрешения через NTFS для добавления новых ACE.
  • Права доступа не имеют отношения к проблеме.
  • разрешения NTFS, используемые в моем примере выше, также не имеют значения - проблема возникает с любым разрешением NTFS, добавленным в корневой каталог общего ресурса.
  • Использование метода, отличного от ICACLS (например, Powershell и Set-ACL), дает тот же результат
  • Только наследование нарушено - другие разрешения, которые были назначены для корневой папки, остаются без изменений. Например, если я добавлю два разрешения, я увижу их оба, и все унаследованные разрешения исчезнут.
  • Проблема не только косметическая - если я добавляю группу, членом которой я не являюсь, в корневой каталог общего ресурса, а затем пытаюсь использовать Windows Explorer для просмотра локального эквивалента, я получаю следующую ошибку:

У вас нет прав доступа к этой папке

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

1 ответ1

0

Это по замыслу. Если вы попытаетесь установить разрешение с помощью проводника Windows, вы увидите следующее сообщение:

Безопасность Windows

Обходные пути - ваше единственное решение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .