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

Разрешения для общего ресурса Windows 2008 и разрешение на запись атрибутов NTFS

Похоже, что в Windows 2008 R2 произошло небольшое изменение в способе взаимодействия разрешений общего доступа и NTFS. В нашем приложении нам нужно установить разрешение на запись атрибутов, чтобы выполнять запись в настраиваемые свойства в документах OLE / DB. В Windows 2003 установка разрешения для общего доступа на Modify не будет конфликтовать с этой настройкой NTFS, но в Windows 2008 R2 мы должны установить разрешение общего доступа на Full Control или запись в настраиваемые свойства не удастся.

Обратите внимание: если бы я поступил по-своему, все было бы хорошо. Я считаю, что разрешения общего доступа плохо спроектированы, и есть другие более эффективные способы по-разному относиться к сетевым и локальным пользователям, если в этом есть какая-то необходимость. Но некоторые из наших клиентов имеют жесткие политики безопасности.

Я не понимаю, о чем вы здесь говорите. Нет разрешений для общего доступа с названием Modify в Windows Server 2003 и Windows Server 2008 R2:


Взаимодействие между разрешениями общего ресурса и разрешениями NTFS может быть сложным. Разрешения на общие ресурсы позволяют гораздо проще взглянуть на мир. Ваша детализация для разрешений на общий доступ ограничена Full Control, Change и Read. Не существует концепции владельца общего ресурса и «наследования разрешений на общий ресурс». Чтобы еще больше усложнить ситуацию, вы можете использовать одну и ту же папку более одного раза, чтобы каждый общий ресурс имел независимые разрешения. Если у вас есть «вложенные» общие ресурсы, вы получите разрешения для общего доступа к любому общему ресурсу, который вы сопоставили.

Разрешения NTFS всегда принудительно, даже если пользователь или процесс удален. Windows примет во внимание как разрешения общего ресурса, так и разрешения NTFS и «вычислит» их действующие разрешения.

Общий процесс такой:

  • Соберите все разрешения общего доступа и объедините их вместе. А Deny отменит любые Allowed.
  • Соберите все разрешения NTFS, которые есть у пользователя для файла. Убедитесь, что вы учитываете как явные, так и унаследованные разрешения NTFS. Как и в случае с разрешениями на общий доступ, Deny отменит любые Allowed разрешения. Помните, что разрешения NTFS, которые не наследуются или явно не назначаются, являются неявно установлен в Deny.
  • Объедините разрешения для общего ресурса и разрешения NTFS. Там, где есть перекрытие, более строгим из набора является действующее разрешение.

Вероятно, вы видите более ограничительную интерпретацию Modify (или Change?) в Windows Server 2008 R2, который затем рассчитывается с учетом ваших менее ограничительных разрешений NTFS. Мне нравится, что @Helge Klein не смог найти никакой документации о том, что представляют собой фактические атомарные разрешения для Modify Поделитесь "мета-разрешением".

Как вы обнаружили, этот процесс сложен и подвержен ошибкам. Сделайте свою жизнь проще и используйте разрешения NTFS исключительно для контроля доступа. Установите разрешения для общего доступа, чтобы они были широко открыты (DOMAIN\Authenticated Users - Full Control), а затем установите разрешения NTFS, чтобы обеспечить желаемый контроль доступа - типично следующее:

  • DOMAIN\Authenticated Users - Read
  • DOMAIN\Accounting-Users - Modify
  • DOMAIN\IT-Admins - Full Control

В Токен доступа конечный пользователь или процесс содержит более строгие списки ACL, а не просто их объединение. Это единственный разумный способ сделать это, иначе вам придется поддерживать и устранять неполадки ваших ACL в двух отдельных местах с помощью двух отдельных наборов инструментов. Это путь безумия.