Использование унаследованных разрешений с перечислением на основе доступа Using inherited permissions with Access-based Enumeration
Область применения: Windows Server 2019, Windows Server (половина ежегодного канала), Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 Applies to: Windows Server 2019, Windows Server (Semi-Annual Channel), Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008
По умолчанию разрешения, используемые для папки DFS, наследуются от локальной файловой системы сервера пространства имен. By default, the permissions used for a DFS folder are inherited from the local file system of the namespace server. Разрешения наследуются от корневого каталога системного диска и предоставляют группе «Пользователи домена» \ разрешения на чтение. The permissions are inherited from the root directory of the system drive and grant the DOMAIN\Users group Read permissions. В результате даже после включения перечисления на основе доступа все папки в пространстве имен остаются видимыми всем пользователям домена. As a result, even after enabling access-based enumeration, all folders in the namespace remain visible to all domain users.
Преимущества и ограничения унаследованных разрешений Advantages and limitations of inherited permissions
Существует два основных преимущества использования унаследованных разрешений для управления тем, кто из пользователей может просматривать папки в пространстве имен DFS: There are two primary benefits to using inherited permissions to control which users can view folders in a DFS namespace:
- Можно быстро применить унаследованные разрешения к множеству папок, не прибегая к использованию сценариев. You can quickly apply inherited permissions to many folders without having to use scripts.
- Можно применять унаследованные разрешения к корням пространства имен и папкам без конечных объектов. You can apply inherited permissions to namespace roots and folders without targets.
Несмотря на преимущества, с унаследованными разрешениями в пространствах имен DFS связан ряд ограничений, которые делают их неприменимыми для большинства сред: Despite the benefits, inherited permissions in DFS Namespaces have many limitations that make them inappropriate for most environments:
- Изменения унаследованных разрешений не реплицируются на другие серверы пространства имен. Modifications to inherited permissions are not replicated to other namespace servers. Таким образом, использовать унаследованные разрешения имеет смысл только применительно к изолированным пространствам имен или в средах, где можно реализовать стороннюю систему репликации для обеспечения синхронизации списков управления доступом (ACL) на всех серверах пространства имен. Therefore, use inherited permissions only on stand-alone namespaces or in environments where you can implement a third-party replication system to keep the Access Control Lists (ACLs) on all namespace servers synchronized.
- Оснастка «Управление DFS» и команда Dfsutil не позволяют просматривать или изменять унаследованные разрешения. DFS Management and Dfsutil cannot view or modify inherited permissions. Таким образом, для управления пространством имен в дополнение к оснастке «Управление DFS» или команде Dfsutil необходимо использовать проводник или команду Icacls. Therefore, you must use Windows Explorer or the Icacls command in addition to DFS Management or Dfsutil to manage the namespace.
- При использовании унаследованных разрешений невозможно изменить разрешения папки с конечными объектами, кроме как с помощью команды Dfsutil. When using inherited permissions, you cannot modify the permissions of a folder with targets except by using the Dfsutil command. Пространства имен DFS автоматически удаляют разрешения с папок с конечными объектами, заданные с использованием других средств или методов. DFS Namespaces automatically removes permissions from folders with targets set using other tools or methods.
- При задании разрешений для папки с конечными объектами, когда вы используете унаследованные разрешения, список управления доступом, который вы установили для папки с конечными объектами, объединяется с разрешениями, наследуемыми от родителя папки в файловой системе. If you set permissions on a folder with targets while you are using inherited permissions, the ACL that you set on the folder with targets combines with inherited permissions from the folder’s parent in the file system. Необходимо изучить оба набора разрешений, чтобы определить, каковы будут результирующие разрешения. You must examine both sets of permissions to determine what the net permissions are.
При использовании унаследованных разрешений проще всего задать разрешения для корней пространства имен и папок без конечных объектов. When using inherited permissions, it is simplest to set permissions on namespace roots and folders without targets. Затем эти унаследованные разрешения можно использовать для папок с конечными объектами, чтобы они наследовали все разрешения от своих родителей. Then use inherited permissions on folders with targets so that they inherit all permissions from their parents.
Использование унаследованных разрешений Using inherited permissions
Чтобы ограничить круг пользователей, которые могут просматривать папку DFS, необходимо выполнить одну из следующих задач: To limit which users can view a DFS folder, you must perform one of the following tasks:
- Установить явные разрешения для папки, отключив наследование.Set explicit permissions for the folder, disabling inheritance. О том, как установить явные разрешения для папки с конечными объектами (ссылки) с помощью оснастки «Управление DFS» или команды Dfsutil, см. в разделе Включение перечисления на основе доступа для пространства имен. To set explicit permissions on a folder with targets (a link) using DFS Management or the Dfsutil command, see Enable Access-Based Enumeration on a Namespace.
- Изменение унаследованных разрешений на родителе в локальной файловой системе. Modify inherited permissions on the parent in the local file system. Чтобы изменить разрешения, унаследованные папкой с конечными объектами, если вы уже установили явные разрешения для папки, переключитесь с явных разрешений на унаследованные разрешения, как описано в следующей процедуре. To modify the permissions inherited by a folder with targets, if you have already set explicit permissions on the folder, switch to inherited permissions from explicit permissions, as discussed in the following procedure. Затем с помощью проводника или команды Icacls изменить разрешения папки, от которой папка с конечными объектами наследует свои разрешения. Then use Windows Explorer or the Icacls command to modify the permissions of the folder from which the folder with targets inherits its permissions.
Перечисление на основе доступа не мешает пользователям переходить по ссылке на конечный объект папки, если они уже знают путь DFS папки с конечными объектами. Access-based enumeration does not prevent users from obtaining a referral to a folder target if they already know the DFS path of the folder with targets. Разрешения, заданные с помощью проводника или команды Icacls для корней пространства имен или папок без конечных объектов, определяют, могут ли пользователи получать доступ к папке DFS или корню пространства имен. Permissions set using Windows Explorer or the Icacls command on namespace roots or folders without targets control whether users can access the DFS folder or namespace root. Однако они не мешают пользователям получить непосредственный доступ к папке с конечными объектами. However, they do not prevent users from directly accessing a folder with targets. Запретить доступ пользователя к конечным объектам папки могут только разрешения для общего ресурса или разрешения файловой системы NTFS, относящиеся к самой общей папке. Only the share permissions or the NTFS file system permissions of the shared folder itself can prevent users from accessing folder targets.
Переключение с явных разрешений на унаследованные разрешения To switch from explicit permissions to inherited permissions
В узле Пространства имен дерева консоли найдите папку с конечными объектами, управлять видимостью которых вы хотите, щелкните эту папку правой кнопкой мыши и выберите Свойства. In the console tree, under the Namespaces node, locate the folder with targets whose visibility you want to control, right-click the folder and then click Properties.
Перейдите на вкладку Дополнительно. Click the Advanced tab.
Нажмите кнопку Наследовать разрешения из локальной файловой системы, а затем нажмите кнопку ОК в диалоговом окне Подтвердите использование унаследованных разрешений. Click Use inherited permissions from the local file system and then click OK in the Confirm Use of Inherited Permissions dialog box. При этом будут удалены все явно заданные разрешения для этой папки и будут восстановлены унаследованные разрешения NTFS из локальной файловой системы сервера пространства имен. Doing this removes all explicitly set permissions on this folder, restoring inherited NTFS permissions from the local file system of the namespace server.
Чтобы изменить унаследованные разрешения для папок или корней пространства имен в пространстве имен DFS, используйте проводник или команду ICacls. To change the inherited permissions for folders or namespace roots in a DFS namespace, use Windows Explorer or the ICacls command.
Секреты NTFS — права, разрешения и их наследование
К ак и в реальном мире, в мире компьютеров и интернета есть вещи, которыми мы можем обладать и есть вещи, которыми мы обладать не можем. А не можем потому, что не имеем на них прав. Объяснять, для чего собственно были придуманы все эти разрешения и права доступа, полагаем, не нужно. Если бы их не было, любой пользователь мог бы просматривать, изменять и удалять любые не принадлежащие ему файлы не только на локальных машинах, но и на серверах.
С понятиями прав и разрешений на файлы более или менее знакомы все пользователи. Но что в действительности они собой представляют и как система определяет, какой файл можно просматривать или изменять, а какой нет? Давайте попробуем разобраться.
Начнем с того, что большая часть всех данных хранится на дисках в виде файлов, к которыми пользователи тем или иным образом получают доступ. Пример, когда пользователь получает доступ к файлам не напрямую, а через веб-сервер, мы рассматривать не будем. Скажем лишь, что такие данные, помимо прочих разрешений, также имеют особое разрешение share , наличие которого проверяется при обращении к удалённому серверу.
Атрибуты и ACL
При работе через сервер права доступа выдаются сервером, при непосредственной же работе с дисками через интерфейс локальной машины права доступа выдаются на уровне файловой системы NTFS. Как это работает? А вот как. Каждый записанный в NTFS файл представляет собой не только данные, помимо них он также хранит служебную информацию — атрибуты и ACL (Access Control List). Кстати, атрибуты и ACL имеют не только файлы, но и папки.
Что такое атрибуты файла, вы, в принципе, должны знать сами. Скрытый, системный, индексируемый или неиндексируемый, доступный только для чтения, готовый к архивированию — всё это называется атрибутами и просматривается в свойствах файла или папки. За права же доступа отвечают метаданные ACL. И если атрибуты описывают свойства объекта, то ACL указывает, кто именно и какие действия с этим объектом может производить. ACL также именуют разрешениями.
Структуру ACL можно представить в виде таблицы с тремя колонками.
Первая колонка содержит уникальный идентификатор пользователя (SID) , вторая — описание прав (read, write и т.д.) , третья — флаг , указывающий разрешено ли конкретному SID пользоваться этими правами или нет. Он может принимать два значения: true (да) и false (нет).
Основных прав доступа в NTFS четыре:
• Read разрешает только чтение файла.
• Write разрешает чтение и запись.
• Modify разрешает чтение, запись, переименование, удаление и редактирование атрибутов.
• Full Control даёт пользователю неограниченную власть над файлом. Помимо всего перечисленного, имеющий права Full Control пользователь может редактировать метаданные ACL. Все прочие права доступа возможность изменения ACL не предоставляют.
Владелец объекта
Кроме атрибутов и разрешений, каждый объект в файловой системе NTFS имеет своего владельца. Таковым может выступать локальный администратор, пользователь, TrustedInstaller, система и т.д. Владелец может изменять права доступа к своему файлу, однако локальный администратор имеет право назначить владельцем такого файла самого себя, следовательно, получить на него полные права, то есть Full Control .
Наследование
Так как файлов на диске может быть очень много и большая их часть располагается во вложенных каталогах, для удобного и быстрого изменения их прав доступа необходим какой-то механизм. Для этого в NTFS есть такая вещь как наследование .
Правило наследования простое и укладывается оно в одну формулировку: при своём создании каждый дочерний объект автоматически наследует разрешения ближайшего родительского объекта. Приведём пример. Если вы создали папку «А», а в ней папку «Б», то папка «Б» будет иметь те же разрешения, что и папка «А». Следовательно, все файлы в папке «Б» получат разрешения папки «А» .
Явные и неявные разрешения
Все разрешения, которые наследуются автоматически, именуются неявными (implicit). И напротив, разрешения, которые устанавливаются вручную путём изменения ACL, называются явными (explicit). Отсюда вытекают два правила:
• На одном уровне вложенности запрещающее разрешение имеет более высокий приоритет. Если для одного SID было задано и разрешающее, и запрещающее разрешение, то действовать будет запрет.
• Явное разрешение имеет более высокий приоритет, чем неявное. Если запрет на какой-то объект был унаследован от родителя, а затем на него было установлено явное разрешение, то оно получит приоритет.
Таким образом в NTFS формируются комбинации разрешений и запретов. И если расположить приоритеты разрешений в порядке убывания, то получим примерно такую картину:
1. Явный запрет
2. Явное разрешение
3. Неявный запрет
4. Неявное разрешение
Особенности наследования при копировании и перемещении файлов
До этого момента мы говорили о наследовании при создании файлов в родительских или дочерних каталогах. В случаях копирования или перемещения объекта правила наследования меняются .
• При копировании объекта с одного тома на другой, например, с диска «С» на диск «D» копируемый объект всегда получает права или разрешения того раздела или расположенного в нём каталога, в который он копируется. Те же правила действуют при перемещении файлов между разными томами.
• При перемещении в пределах одного тома, перемещаемый объект сохраняет свою ACL, изменяется только ссылка на него в таблице MFT.
• При копировании в пределах одного тома копируемый объект получает ACL от ближайшего вышестоящего родительского каталога.
Для начала этого вполне достаточно, чтобы иметь более-менее чёткое представление о том, как работают законы разрешений в NTFS. На самом деле разрешений в файловой системе существует гораздо больше разрешений. Большинству простых пользователей их знать необязательно, а вот будущим системным администраторам такие знания могут очень даже пригодится.








