Настройка access based enumeration в windows server 2019

Технология Access-based Enumeration (ABE - Перечисление на основании доступа) позволяет на общих сетевых ресурсах (шарах) скрыть от пользователей файлы и папки,

Технология Access-based Enumeration (ABEПеречисление на основании доступа) позволяет на общих сетевых ресурсах (шарах) скрыть от пользователей файлы и папки, к которым у них отсутствует права доступа на чтение на уровне NTFS. Тем самым можно обеспечить дополнительную конфиденциальность данных, хранящихся в сетевом каталоге (за счет скрытия структуры и имен каталогов и файлов), улучшить юзабилити для пользователя, которому в процессе работы с сетевым каталогом не будет отображаться лишняя информация (тем более доступ к которой у него все равно отсутствует) и, самое главное, оградим системного администратора от постоянных вопросов пользователей «почему меня не пускает в эту папку!!». Попробуем детальнее разобраться в этой технологии и особенностях ее настройки и использования в различных версиях Windows.

Содержание:

  • Особенности доступа к общим сетевым папкам Windows
  • Ограничения Access Based Enumeration
  • Использование ABE в Windows Server 2008 / 2008 R2
  • Настройка Access Based Enumeration в Windows Server 2012 R2/ 2016
  • Настройка Access Based Enumeration в Windows Server 2003
  • Управление ABE из командной строки
  • Управление Access Based Enumeration с помощью PowerShell
  • Access-Based Enumeration в Windows 10 / 8.1 / 7

Особенности доступа к общим сетевым папкам Windows

Одним из недостатков сетевых папок Windows является тот факт, что по-умолчанию все пользователи при просмотре содержимого общей папки могли, как минимум, видеть ее структуру и список содержащихся в ней файлов и каталогов, в том числе тех, доступ к которым на уровне NTFS у них отсутствует (при попытке открыть такой файл или папку пользователь получает ошибку доступа «Доступ запрещен / Access Denied»). Так почему бы не скрыть от пользователя те каталоги и файлы, к которым у него все равно нет доступа? Помочь в этой задаче должна технология Access Based Enumeration (ABE). Включив ABE на общей сетевой папке можно добиться того, чтобы разные пользователи видели различный список каталогов и файлов в одной и той же сетевой шаре, основанный индивидуальных правах доступа пользователя к этим папкам (ACL).

Каким образом происходит взаимодействие между клиентом и сервером при обращении к общей папке:

  • Клиент обращается к серверу с запросом на доступ к интересующему его каталогу в общей сетевой папке;
  • Служба LanmanServer на сервере проверяет, есть ли у пользователя права доступа к данному каталогу на уровне разрешений файловой системе NTFS;
  • Если доступ разрешен (просмотр содержимого/чтение/запись), пользователь видит список содержимого каталога;
  • Затем пользователь по такой же схеме может открыть конкретный файл или вложенный каталог (вы можете посмотреть, кто открыл конкретный файл в сетевой папке так). Если доступа к папке нет, пользователь получает соответствующее уведомление.

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

Функционал Access Based Enumeration (ABE) позволяет реализовать проверку прав доступа на объекты файловой системы до того, как пользователю отправляется список содержимого папки. Следовательно, в конечный список будут попадать только те объекты, к которым у пользователя есть хотя бы права Read на уровне NTFS, а все недоступные ресурсы просто не отображаются (скрываются).

Т.е. пользователь одного отдела (например, склада) в одном и том же сетевом каталоге (\filesrv1docs) будет видеть один список папок и файлов. Как вы видите, у пользователя отображаются только две папки: Public и Sklad.

Доступ на основании разрешений - ABE

У пользователей другого департамента, например, ИТ (которые включены в другую группу безопасности Windows), отображается другой список вложенных каталогов. Помимо каталогов Public и Sklad у данных пользователей в сетевой папке видны еще 6 директорий. Access-Based Enumeration - как скрыть содержимое общей шары в Windows

Основной недостаток использования ABE на файловых серверах – дополнительная нагрузка на сервер. Особенно это можно почувствовать на высоконагруженных файловых серверах. Чем больше количество объектов в просматриваемом каталоге, и чем больше количество пользователей открывают файлы на нем, тем больше задержка. По заявлению Microsoft в случае наличия в отображаемом каталоге 15000 объектов (файлов и каталогов), скорость открытия папки замедляется на 1-3 секунды. Именно поэтому, при проектировании структуры общих папок, рекомендуется уделить большое внимание созданию четкой и иерархической структуры подпапок, в этом случае замедление скорости открытия каталогов будет незаметным.

Примечание. Стоит понимать, что Access Based Enumeration не скрывает от пользователя сам список общих сетевых ресурсов (шар) на файловом сервере, а действует только по отношению к их содержимому. Если нужно скрыть от пользователя именно сетевую папку, необходимо в конец названия общей папки добавить символ $.

Управлять ABE можно из командной строки (утилита abecmd.exe), из графического интерфейса, PowerShell или через специальный API.

Ограничения Access Based Enumeration

Access-based Enumeration в Windows не работает в случаях:

  1. Если в качестве файл-сервера используется Windows XP или Windows Server 2003 без Service Pack;
  2. При локальном просмотре каталогов (непосредственно с сервера). Например, пользователь, подключившись к RDS серверу будет видеть все локальные папки, если данный сервер используется и в качестве файлового сервера);
  3. Для членов локальной группы администраторов файлового сервера (они всегда видят полный список файлов).

Использование ABE в Windows Server 2008 / 2008 R2

В Windows Server 2008/R2 для использования функционала Access Based Enumeration никаких дополнительных компонентов устанавливать не нужно, т.к. возможность управления функционалом ABE уже встроена в графический интерфейс Windows. Чтобы включить Access-based Enumeration для конкретной папки в Windows Server 2008/2008 R2, откройте mmc консоль управления Share and Storage Management (Start –> Programs –> Administrative Tools ->Share and Storage Management). Перейдите в окно свойств нужной шары. Затем перейдите в окно расширенных настроек (кнопка Advanced) и включите опцию Enable access-based enumeration.

windows 2008 Доступ на основе разрешений

Настройка Access Based Enumeration в Windows Server 2012 R2/ 2016

Настройка ABE в Windows Server 2012 R2 / 2016 также выполняется просто. Чтобы включить Access Based Enumeration необходимо сначала, естественно, установить роль файлового сервера (File And Storage Services), а затем в консоли Server Manager перейти в свойства общей папки. windows server 2012 общая папка

И в разделе Settings включить опцию Enable access-based enumeration.

windows server 2012 активировать abe

Настройка Access Based Enumeration в Windows Server 2003

В Windows Server 2003 (снята с поддержки) технология ABE стала поддерживаться начиная с Service Pack1. Чтобы включить Access-based Enumeration в Windows Server 2003 SP1 (и выше), нужно скачать и установить пакет _http://www.microsoft.com/en-us/download/details.aspx?id=17510. В процессе установки необходимо указать, нужно ли автоматически включить ABE для всех общих папок на сервере, либо настройка будет проводиться в индивидуальном порядке. Если выбран второй пункт, то после окончания установки пакета, в свойствах общих папок появится новая вкладка Access-based Enumeration.

включить access base enumeration на шаре в windows server 2003

Чтобы активировать ABE для конкретной папки, включите в ее свойствах опцию Enable access-based enumeration on this shared folder.

Также отметим, что в Windows 2003 поддерживается использование Access Based Enumeration на основе DFS, однако настроить его можно только из командной строки с помощью утилиты cacls.

Управление ABE из командной строки

Настройками Access-based Enumeration можно управлять из командной строки при помощи утилиты Abecmd.exe. Данная утилита входит в пакет Access-based Enumeration для Windows Server 2003 SP1 (ссылка выше).

Утилита Abecmd.exe позволяет активировать ABE сразу для всех каталогов или же персонально. Следующая команда включит Access-Based Enumeration сразу для всех шар:

abecmd /enable /all

Или для конкретной папки (например, шары с именем Docs):

abecmd /enable Docs

Управление Access Based Enumeration с помощью PowerShell

Для управления настройками Access Based Enumeration для конкретных папок можно использовать PowerShell модуль SMBShare (установлен по-умолчанию в Windows 10/8.1 и Windows Server 2016/ 2012 R2). Выведем свойства конкретной сетевой папки:

Get-SmbShare Install|fl *

Get-SmbShare FolderEnumerationMode

Обратите внимание на значение атрибута FolderEnumerationMode. В нашем случае его значение – Unrestricted. Это означает, что ABE отключен для этой папки.

Можно проверить статус ABE для всех сетевых папок сервера:

Get-SmbShare | Select-Object Name,FolderEnumerationMode

Чтобы включить ABE для папки, выполните:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

powershell включить Access Based Enumeration для общей сетевой папки

Вы можете включить Access Based Enumeration для всех опубликованных сетевых папок (в том числе административных шар ADMIN$, C$, E$, IPC$), выполните:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

Чтобы отключить ABE, выполните:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode Unrestricted

Access-Based Enumeration в Windows 10 / 8.1 / 7

Многим пользователем, особенно в домашних сетях, также хотелось бы иметь возможность воспользоваться функционалом Access-Based Enumeration. Проблема заключается в том, что в клиентских ОС Microsoft отсутствует как графический, так и командный интерфейс управления «Перечислением на основе доступа».

В Windows 10 (Server 2016) и Windows 8.1 (Server 2012R2) для управления Access-based Enumeration можно использовать PowerShell (см. раздел выше). В более старых версиях Windows, вам необходимо установить последнюю версию PowerShell (>= 5.0) или использовать утилиту abecmd.exe из пакета для Windows Server 2003, прекрасно работает и на клиентских ОС. Т.к. пакет Windows Server 2003 Access-based Enumeration на Windows 10 / 8.1 / 7 не устанавливается, придется сначала установить его на Windows Server 2003, а затем скопировать его из каталога C:windowssystem32 в такой же каталог на клиенте. После этого включить ABE можно по сценарию с командной строкой, описанному выше.

Примечание. В корпоративной среде ABE замечательно сочетается с папками DFS, скрывая от пользователя «ненужные» папки и предоставляя более удобную структуру дерева общих папок. Включить ABE на пространстве имен DFS можно с помощью консоли DFS Management или утилиты dfsutil.exe:
dfsutil property abde enable \<namespace root>

Кроме того, вы можете включать ABE на компьютерах домена AD с помощью групповых политик. Для этого используется GPP в секции: Computer Configuration -> Preferences -> Windows Settings -> Network Shares).

Включить Access-Based Enumeration с помощью групповых политик

Как вы видите, в свойствах сетевой папки есть опция Access-Based Enumeration, если изменить значение на Enable, для всех общих папок, созданных с помощью данной GPO будет включен режим ABE.

Access-based Enumeration (ABE) allows to hide objects (files and folders) from users who don’t have NTFS permissions (Read or List) on a network shared folder in order to access them. Thus you can provide additional confidentiality of data stored in a shared folder (due to hiding the structure and names of folders and files), improve its usability since users won’t see odd data (they don’t have access to) and, what’s more important, save a system administrator from constant questions of users “Why I cannot access this folder!!!”. Let’s try to consider this technology, configuration peculiarities and use of ABE in various Windows versions in details.

Contents:

  • How does access to shared folders work in Windows?
  • Access-Based Enumeration Restrictions
  • Using ABE on Windows Server 2008/ 2008 R2
  • Configuring Access-based Enumeration on Windows Server 2012 R2/ 2016
  • Implementing Access-Based Enumeration on Windows Server 2003
  • Managing ABE from the Command Prompt
  • Managing Access Based Enumeration Using PowerShell
  • Access-Based Enumeration in Windows 10 / 8.1 / 7

How does access to shared folders work in Windows?

One of the drawbacks of network shared folders technology in Windows is the fact that by default all users could at least see its structure and the list of all files and directories in such a folder including those that they don’t have NTFS permissions to access (when trying to open such file or folder, a user receives the error “Access Denied”). Why not to hide those files and folders from the users who don’t have permissions to access them? Access-based Enumeration can help doing it. By enabling ABE on a shared folder, you can ensure that different users see a different list of folders and files in the same network share based on the user’s individual access permissions (ACL).

How does the interaction between the client and the server occurs when accessing a shared folder over the SMB?

  • A client requests the server to access a directory in the network shared folder;
  • The LanmanServer service on the server checks the user permissions to access this folder;
  • If access is allowed (NTFS permissions: list content, read or write), the user sees the directory contents;
  • Then the user requests access to a file or a subfolder in the same way (you can view who opened a specific file in a network folder like this);
  • If the access is denied, the user is notified accordingly.

According to this scheme, it becomes clear that the server firstly shows the entire contents of the folder to the user, and the NTFS permissions are checked only when the user tries to open a specific file or folder.

Access-based Enumeration (ABE) allows to check access permissions on file system objects before the user receives a list of the folder contents. So, the final list includes only those objects a user has NTFS permissions to access (at least read-only permission), and all inaccessible resources are simply not displayed (hidden).

It means that a user from one department (e.g. warehouse) will see one list of files and folders in a shared folder (\filesrv1docs). As you can see, only two folders are displayed for the user: Public and Warehouse.

hide folders and files on shared folder using access based enumeration

And for a user from another department, e. g., IT department (which is included in another Windows security group), a different list of subfolders is shown. In addition to the Public and Warehouse directories, this user sees 5 more directories in the same network folder.

implementing abe on windows shared folder

The main disadvantage of using ABE on the Windows file servers is the extra load on the server. It is especially prominent in high load file servers. The more objects there are in the viewed directory, and the more users open files on it, the longer the delay is. According to Microsoft, if there are 15,000 objects (files and directories) in the displayed folder, a folder is opening 1-3 seconds slower. That’s is why it is recommended to pay much attention to making a clear and hierarchical subfolder structure when designing a shared folder structure in order to make a delay when opening folders less evident.

Note. You should understand that Access-based Enumeration doesn’t hide the list of the network shared folders on a file server, it hides only their contents. If you need to hide a shared folder from a user, you have to add a $ symbol at the end of the share name.

You can manage ABE from the command prompt (abecmd.exe utility), from the GUI, PowerShell or a special API.

Access-Based Enumeration Restrictions

Access-based Enumeration on Windows doesn’t work in the following cases:

  • If you are using Windows XP or Windows Server 2003 without Service Pack 1 as a file server;
  • If you are viewing directories locally (directly from the server);
  • For members of the local file server administrators group (they always see the full list of files).

Using ABE on Windows Server 2008/ 2008 R2

In Windows Server 2008/R2 to use the Access Based Enumeration functionality no additional components need to be installed, since the ABE management feature is already built into the Windows GUI. To enable Access-based Enumeration for a certain folder in Windows Server 2008/2008 R2, open the MMC management console Share and Storage Management (Start –> Programs –> Administrative Tools -> Share and Storage Management). Go to the properties of the necessary share. Then go to the Advanced settings and check Enable access-based enumeration.

Enable access based enumeration on Windows Server 2008 share

Configuring Access-based Enumeration on Windows Server 2012 R2/ 2016

ABE configuration in the Windows Server 2012 R2 / 2016 is also very simple. To enable ABE in Windows Server 2012, you firstly have to install File and Storage Services role, and then go to the share properties in the Server Manager.

Windows 2012 Share Properties

In Settings section check the option Enable access-based enumeration.

Windows Server 2012 - Enable access-based enumeration

Implementing Access-Based Enumeration on Windows Server 2003

In Windows Server 2003 (not supported now), ABE became supported starting from Service Pack 1. To enable Access-based Enumeration in Windows Server 2003 SP1 (or later), you have to download and install a package following this link http://www.microsoft.com/en-us/download/details.aspx?id=17510. During installation you have to specify whether ABE will be enabled for all shared folders on your server or you’ll configure it manually. If you choose the second option, a new tab, Access-based Enumeration, will appear in the network share properties after the installation.

Install Access based Enumeration on Windows-Server 2003 SP1

To activate ABE for a certain folder, check the option Enable access-based enumeration on this shared folder in its properties.

Enable access-based enumeration on this shared folder Windows Server 2003

It’s important to mention that Windows 2003 supports DFS-based Access Based Enumeration, but it can be configured only from the command prompt using cacls.

Managing ABE from the Command Prompt

You can manage Access-based Enumeration settings from the command prompt using Abecmd.exe utility. This tool is a part of Access-based Enumeration package for Windows Server 2003 SP1 (see the link above).

Abecmd.exe allows to activate ABE for all directories at once or only for some of them. The next command enables Access-Based Enumeration for all shares:

abecmd /enable /all

This one is for a certain folder (e.g., a network shared folder with the name Docs):

abecmd /enable Docs

Managing Access Based Enumeration Using PowerShell

You can use the SMBShare PowerShell module (installed by default in Windows 10/ 8.1 and Windows Server 2016/2012 R2) to manage the settings of Access Based Enumeration for specific folders. Let’s list the properties of a specific shared folder:

Get-SmbShare Install|fl *

Get-SmbShare FolderEnumerationModeNote the value of the FolderEnumerationMode attribute. In our case, its value is Unrestricted. This means that ABE is disabled for this folder.

You can check the status of ABE for all shared folders of the server:

Get-SmbShare | Select-Object Name,FolderEnumerationMode

To enable ABE for a specific folder:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

Set-SmbShare AccessBased - enable ABE with PowerShellYou can enable Access Based Enumeration for all published network folders (including administrative shares ADMIN$, C$, E$, IPC$,…) by running the command:

Get-SmbShare | Set-SmbShare -FolderEnumerationMode AccessBased

To disable ABE use the command:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode Unrestricted

Access-Based Enumeration in Windows 10 / 8.1 / 7

Many users, especially in home or SOHO networks, also would like to use Access-Based Enumeration features. The problem is that Microsoft client OSs have neither graphical, nor command interface to manage Access-Based Enumeration.

In Windows 10 (Server 2016) and Windows 8.1 (Server 2012R2), you can use PowerShell to manage Access-based Enumeration (see the section above). In older versions of Windows, you need to install the latest version of PowerShell (>= 5.0) or use the abecmd.exe utility from the Windows Server 2003 package, it works fine on client OSs. Since the Windows Server 2003 Access-based Enumeration package is not installed on Windows 10, 8.1 or 7, you have to install it first on Windows Server 2003, and then copy it from the C:windowssystem32 directory to the same folder on the client. After that, you can enable ABE according with the commands described above.

Note. In corporate environment, ABE combines perfectly with DFS folders by hiding folders from the user and providing a more convenient structure of the public folders tree. You can enable ABE in DFS using DFS Management or dfsutil.exe:
dfsutil property abde enable \namespace_root

In addition, you can enable ABE on computers in the AD domain using GPO. This can be done using GPP in the section: Computer Configuration -> Preferences -> Windows Settings -> Network Shares).

enable abe using gpo
In the properties of the network folder there is an Access-Based Enumeration option, if you change the value to Enable, ABE mode will be enabled for all shared folders created using this GPO.

title description ms.date ms.topic author manager ms.author

Enable Access-based Enumeration on a Namespace

This article describes how to enable access-based enumeration on a namespace.

6/5/2017

article

JasonGerend

brianlic

jgerend

Enable access-based enumeration on a namespace

Applies to: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008

Access-based enumeration hides files and folders that users do not have permissions to access. By default, this feature is not enabled for DFS namespaces. You can enable access-based enumeration of DFS folders by using DFS Management. To control access-based enumeration of files and folders in folder targets, you must enable access-based enumeration on each shared folder by using Share and Storage Management.

To enable access-based enumeration on a namespace, all namespace servers must be running Windows Server 2008 or newer. Additionally, domain-based namespaces must use the Windows Server 2008 mode. For information about the requirements of the Windows Server 2008 mode, see Choose a Namespace Type.

In some environments, enabling access-based enumeration can cause high CPU utilization on the server and slow response times for users.

[!NOTE]
If you upgrade the domain functional level to Windows Server 2008 while there are existing domain-based namespaces, DFS Management will allow you to enable access-based enumeration on these namespaces. However, you will not be able to edit permissions to hide folders from any groups or users unless you migrate the namespaces to the Windows Server 2008 mode. For more information, see Migrate a Domain-based Namespace to Windows Server 2008 Mode.

To use access-based enumeration with DFS Namespaces, you must follow these steps:

  • Enable access-based enumeration on a namespace
  • Control which users and groups can view individual DFS folders

[!WARNING]
Access-based enumeration does not prevent users from getting a referral to a folder target if they already know the DFS path. Only the share permissions or the NTFS file system permissions of the folder target (shared folder) itself can prevent users from accessing a folder target. DFS folder permissions are used only for displaying or hiding DFS folders, not for controlling access, making Read access the only relevant permission at the DFS folder level. For more information, see Using Inherited Permissions with Access-Based Enumeration

You can enable access-based enumeration on a namespace either by using the Windows interface or by using a command line.

To enable access-based enumeration by using the Windows interface

  1. In the console tree, under the Namespaces node, right-click the appropriate namespace and then click Properties .

  2. Click the Advanced tab and then select the Enable access-based enumeration for this namespace check box.

To enable access-based enumeration by using a command line

  1. Open a command prompt window on a server that has the Distributed File System role service or Distributed File System Tools feature installed.

  2. Type the following command, where <namespace_root> is the root of the namespace:

    dfsutil property abe enable \ <namespace_root>
    

[!TIP]
To manage access-based enumeration on a namespace by using Windows PowerShell, use the Set-DfsnRoot, Grant-DfsnAccess, and Revoke-DfsnAccess cmdlets. The DFSN Windows PowerShell module was introduced in Windows Server 2012.

You can control which users and groups can view individual DFS folders either by using the Windows interface or by using a command line.

To control folder visibility by using the Windows interface

  1. In the console tree, under the Namespaces node, locate the folder with targets for which you want to control visibility, right-click it and then click Properties.

  2. Click the Advanced tab.

  3. Click Set explicit view permissions on the DFS folder and then Configure view permissions.

  4. Add or remove groups or users by clicking Add or Remove.

  5. To allow users to see the DFS folder, select the group or user, and then select the Allow check box.

    To hide the folder from a group or user, select the group or user, and then select the Deny check box.

To control folder visibility by using a command line

  1. Open a Command Prompt window on a server that has the Distributed File System role service or Distributed File System Tools feature installed.

  2. Type the following command, where <DFSPath> is the path of the DFS folder (link), <DOMAINAccount> is the name of the group or user account, and (…) is replaced with additional Access Control Entries (ACEs):

    dfsutil property sd grant <DFSPath> DOMAINAccount:R (...) Protect Replace
    

    For example, to replace existing permissions with permissions that allows the Domain Admins and CONTOSOTrainers groups Read (R) access to the contoso.officepublictraining folder, type the following command:

    dfsutil property sd grant \contoso.officepublictraining "CONTOSODomain Admins":R CONTOSOTrainers:R Protect Replace
    
  3. To perform additional tasks from the command prompt, use the following commands:

Command Description
Dfsutil property sd deny Denies a group or user the ability to view the folder.
Dfsutil property sd reset Removes all permissions from the folder.
Dfsutil property sd revoke Removes a group or user ACE from the folder.

Additional References

  • Create a DFS Namespace
  • Delegate Management Permissions for DFS Namespaces
  • Installing DFS
  • Using Inherited Permissions with Access-Based Enumeration

— Advertisement —

Hello, in this opportunity, we are going to talk a little about Windows Server 2019. Specifically about the file server and how to enable it. This is a server that is configured to provide a central location in the local network. The goal is to store files and share them with domain users. In this way, users can have access to files and applications. In other words, the file server is a simple and effective solution for sharing data. For that reason, let’s see how to enable the file server in Windows Server 2019

How to create a shared folder in Windows Server 2019

The first thing we have to do is create a new folder inside the server. This folder will function as a file server. Once created, you need to enter its properties. Next, go to the Sharing tab. Additionally, click on Advanced Sharing

Create the folder and enter the Sharing tab

Create the folder and enter the Sharing tab

In the next window, check the box corresponding to Share this folder. It is also possible to limit the number of simultaneous users in the folder. Press accept to continue.

Share the folder

Share the folder

From the same window, click on the Permissions menu. In this way, we will modify the access permissions of the folder. In the first place, remove the Everyone user group. This is done for security. In addition, click on the Add menu.

Add a user group

Then choose the group of users you want to have access to the folder:

Adding domain users

Adding domain users

For the purposes of this example, we have selected the Domain Users. Then give it read and write permission in the folder. This guarantees full access to the files by the selected users.

Guaranteeing access to the users of the domain.

Guaranteeing access to the users of the domain.

After applying the changes, press OK to set them. In the same way, the access path for the client machines is shown. With these steps, the folder for the file server has already been correctly configured. To check its functionality, simply log in from any client computer. Then access the newly created folder.

Accessing the shared folder from a client machine.

Accessing the shared folder from a client machine.

Configuring the file server in Windows Server 2019.

Next, we will manage the file server in Windows Server 2019. With this in mind, please enter the Server Dashboard and from the left menu select File and Storage Services.

Select Files and Storage Services

Select Files and Storage Services

In the next window click on Shares. Immediately view the shared folder:

From the Shares section, select the shared folder.

From the Shares section, select the shared folder.

Then double click on the folder to enter the properties of the folder. In this menu go to the Settings section. Additionally, click on the first option corresponding to Enable acces-based enumeration. This option allows users to only see the folders that have permission to be edited, the ones that are read-only will be hidden. This configuration is very useful to protect the privacy of the folders.

Enabling Enable acces-based enumeration

Enabling Enable acces-based enumeration

Adding the File Server Resource Manager

This function is enabled from the Server Dashboard. Specifically with the Add roles and features wizard. If you want to know how to do it, I invite you to check our post about IIS in Windows Server 2019. In this case, choose Server Roles. Then scroll down to File and Storage Services. Then check the box File Server Resources Manager.

Adding File Server Resource Manager

Adding File Server Resource Manager

Press next and wait while the wizard enables the resource.

Wizard enabling the resource

Wizard enabling the resource

Access to the File Server Resources Manager.

To access the recently created tool, please open the Server Dashboard. Now open the Tools menu and select it.

Running the File Server Resource Manager

Running the File Server Resource Manager

Immediately the menu will be displayed with the different options.

File Server Resource Manager options

File Server Resource Manager options

Some options shown in the window are as follows:

  • Quota manager: this option allows you to define a space limit for users to add files to the shared folder. Consequently, the capacity of the disk on the server is not affected.
  • File Screening Manager: This option allows access to a series of templates where elements such as executable files, video, audio, etc. are blocked.

Conclusion

Ultimately we have seen how to enable the file server in Windows Server 2019. With this option we give the ability to the clients of the server, to enter the desired data. In addition, it is possible to control the quota, size and amount of information available. All right, that’s it for the moment. See you later.

Технология Access Based Enumeration (ABE) дословно переводится как ″Перечисление на основании доступа″ и позволяет на общих сетевых папках (шарах) скрыть от пользователя те файлыпапки, к которым у него нет прав доступа. Дело в том, что при наличии доступа к общей папке пользователь может видеть все находящиеся в ней объекты (файлы и папки), независимо от наличия к ним доступа.

По умолчанию процесс доступа к сетевой папке происходит таким образом:

• Пользователь подключается к серверу и запрашивает доступ к общей папке;
• Сервер (точнее служба LanmanServer, отвечающая за общий доступ к файлам и папкам) проверяет, есть ли у пользователя разрешения файловой системы на чтениелистинг данной папки, и при их наличии возвращает список всех файлов и папок, в ней находящихся;
• Пользователь выбирает из списка интересующий его объект (файл или папку) и пытается его открыть;
• Сервер проверяет, есть ли у пользователя необходимые права доступа. Если права есть — то пользователю возвращается требуемый объект, если нет — выдается ошибка доступа.

При такой последовательности действий сервер сначала выдает пользователю список всего содержимого папки, а права доступа к отдельным файлампапкам внутри нее проверяет потом, при попытке доступа к ним. Конечно, без необходимых прав пользователь все равно на сможет получить доступ к объекту, но гораздо гуманнее будет скрыть от него то, к чему у него все равно нет доступа.

Как раз для этого и предназначена технология Access Based Enumeration. При активации ABE сервер начинает проверять права пользователя на содержимое папки перед тем, как отправить ему список. Таким образом пользователю будут перечислены только те ресурсы, на которые у него есть необходимые права — просмотр содержимого (list contents) для папок и чтение (read) для отдельных файлов.

Включение Access Based Enumeration

Процедура включение ABE крайне проста. Для настройки на отдельном сервере открываем Server Manager и на главной странице выбираем роль сервера «File and Storage Services».

Примечание. Для включения Access Based Enumeration необходима роль сервера File and Storage Services.

открываем Server Manager

Затем переходим в раздел «Shares» и выбираем из списка шару, для которой надо включить ABE. Кликаем на ней правой клавишей и в открывшемся меню выбираем пункт «Properties».

переходим в раздел  Shares

И затем в свойствах шары ставим галку в поле «Enable access-based enumeration».

включаем ABS для шары

При управлении общими папками централизованно, через предпочтения групповых политик (Group Policies Preferences), в свойствах папки также есть возможность указать, будет ли включен для нее ABE.

настройка ABS через Group Policies Preferences

Ну и в качестве примера — так выглядит папка с включенной ABE для администратора сервера

до включения ABS

А так для обычного пользователя.

после включения ABS

Таким образом, технология ABE облегчает жизнь как пользователям, так и администраторам. Пользователь избавлен от излишней информации и у него не возникает соблазна получить к ней доступ, а администратор больше не должен отвечать на вопросы по поводу отсутствия доступа. Кроме того, ABE крайне проста в настройке и практически не имеет особых требований к серверу и клиенту. Однако есть у ABE и недостаток — дополнительная нагрузка на сервер. Нагрузка напрямую зависит от количества пользователей на сервере и количества объектов в просматриваемом каталоге. При большой нагрузке скорость открытия папки может заметно уменьшиться.

Заключение

В заключение несколько замечаний по поводу использования ABE:

• ABE контролирует только список содержимого общих папок, но не скрывает от пользователей список этих папок на сервере. Поэтому при подключении к серверу пользователь будет видеть все общие папки. Если вам необходимо создать скрытую шару, то можно просто добавить к ее имени знак $, например Doc$;
• ABE не работает при локальном входе в систему или при подключении по RDP;
• Члены группы локальных администраторов всегда видят полный список содержимого папки.

По умолчанию, когда пользователь открывает некую общую сетевую папку на сервере (предполагаем, что у пользователя есть право на доступ к сетевой шаре), SMB отображает ему полный список каталогов и файлов, которые находятся в ней. Функционал Windows «перечисление на основе доступа» (Access Based EnumerationABE) позволяет в сетевой папке скрыть от пользователя те файлы и папки, на которые у него отсутствуют NTFS разрешения.

Технология Access Based Enumeration впервые появилась еще в Windows Server 2003 SP1 и помогает предотвратить просмотр пользователями списков чужих файлов и папок.

Процесс доступа к сетевой папке в среде Windows выполняется следующим образом:

  1. Пользователь обращается к серверу и запрашивает доступ к общей сетевой папке
  2. Служба LanmanServer на сервере (именно она отвечает за предоставление доступа к файлам по SMB) проверяет, есть ли у пользователя необходимые разрешений на доступ к данной сетевой папке. Если доступ имеется, служба возвращает список пользователю список с содержимым папки
  3. Затем пользователь может выбрать и попытаться открыть необходимый ему файл или папку
  4. Сервер проверяет, имеет ли пользователь необходимые NTFS права на доступ к данному элементу. Если у пользователя есть необходимые разрешения, он открывает нужный объект. Если у пользователя не достаточно прав — возвращается ошибка отказа в доступе.

Согласно этому алгоритму сервер сначала возвращает пользователю список всего содержимого папки, а проверка наличия прав доступа к отдельным файлам и папкам выполняется только при обращении к ним. При включении ABE, служба LanmanServer вернет пользователю не все содержимое папки, а только те объекты файловой системы, на которые у пользователя есть права (Read или List contents).

Некоторые особенности ABE:

  • ABE управляет только списком содержимого общей папки, но не скрывает сами шары от пользователей. Поэтому, когда пользователь подключается к серверу (\server-name), он увидит все имеющиеся на нем шары. Чтобы создать скрытую шару, нужно добавить в конец ее имени знак $, например SecretFolder$
  • При локальном или RDP входе пользователя на сервер, ABE не работает
  • Члены локальной группы «Администраторы» всегда видят полное содержимое сетевой папки

ABE включается для каждой сетевой папки по отдельности. Чтобы настроить ABE, откройте консоль Server Manager и выберите роль «File and Storage Services» (роль уже должна быть установлена).

 консоль Server Manager

Затем перейдите в раздел «Shares» и выберите из списка сетевую папку, для которой необходимо включить ABE. Щелкните правой кнопкой по папке и выберите «Properties».

свойства сетевого каталога

В окне свойств папки перейдите на вкладку Settings и включите опцию Enable access-based enumeration.

включить access based enumeration

Кроме того, вы можете включить перечисление на основе доступа на сетевом ресурсе с помощью PowerShell командлета Set-SmbShare:

Set-SmbShare -Name "Share" -FolderEnumerationMode AccessBased

Set-SmbShare

В том случае, если вы управляете общими папками централизованно с помощью GPO (секция Computer Configuration -> Preferences -> Windows Settings -> Network Shares), вы можете включить ABE в ее свойствах (скрин ниже).

Computer Configuration -> Preferences -> Windows Settings -> Network Shares

В качестве небольшой иллюстрации работы ABE. На скриншоте ниже показано как выглядит содержимое сетевой папки, для которой включен ABE для системного администратора сервера.

содержимое сетевой папки

А так в проводнике выглядит та же самая папка для менеджера из отдела управления активами. Как работает перечисление на основе доступа для сетевой папки файлового сервера

Таким образом, технология ABE облегчает жизнь как пользователям, так и администраторам. Пользователи не видят лишнюю и избыточную информацию в проводнике, а администратору не нужно больше отвечать на вопросы пользователи об отсутствии доступа к той или иной папке.

Однако у технологии Access Based Enumeration есть и небольшой недостаток — дополнительная нагрузка на сервер. Нагрузка зависит от количества пользователей сервера, количества объектов в общих папках и сложности ACL. При высокой загрузке сервера, скорость открытия папок на файловом сервере может значительно снижаться.

Access Based Enumeration (ABE) allows you to hide objects (files, folders) on local resources from users who do not have the permissions needed to access them. Limiting visibility makes it easier for employees to navigate the file server, while also preventing speculation about the contents of folders with evocative names. Even if they can’t get inside, just seeing a folder labelled “2023_Restructuring” could get people spreading rumors.

Access-based Enumeration was designed to stop the rumor mill from churning. It ensures that nosy employees do not even see objects they have no permissions for. In this article, we are going to explain how to set up ABE correctly and how it works on different Windows drives.

What Is Access Based Enumeration?

Every company has different types of data: confidential, secret and top secret. Because this data is usually kept on file servers shared by many people, NTFS permissions are used to ensure that only the right people have access to this information. NTFS, short for New Technology File System, gives you granular options for setting access rights in Windows and Windows Server environments (List folder contents, Read & Execute, Modify etc).

This ensures that your staff’s file server access is limited to intended assets and intended actions. For more information on the topic of NTFS permissions, our article on the subject outlines NTFS Best Practices and common mistakes.

Why Use Access Based Enumeration?

Up until Windows Server 2008, admins had to pay extra attention to how and especially WHERE they set up new folder structures. Users with access to a particular folder were automatically able to see all of its subfolders, even if they did not have the necessary permissions to open those folders. This scenario was quite common and led to all kinds of problems:

  • The folder name itself might contain confidential information (e.g. “Facility_NJ_jobcuts“).

  • Users might assume there is a mistake and bombard admins with e-mails like, “Why can’t I open this folder?!”

  • File server structures became cluttered and confusing.

The reason why file server structures became so confusing is because admins had to find ways to hide certain objects from unauthorized users. One way of doing this was to move objects to deeper levels on the file server – which meant that shared files might be buried under layers and layers of different folders. Access-based enumeration put an end to this challenge.

Young woman at the office with unintentional access to top secret file shares because someone forgot to check the properties and enable access-based enumeration.

“Hey, you’ll never guess what I just saw!” With Access Based Enumeration, you can stop rumors before they start. (c) Михаил Решетников

What Does Access Based Enumeration Do?

Access-based enumeration was introduced with Windows Server 2003 R2. Since Windows Server 2012, ABE is available as an option in the server manager console. It is set up using the file and storage services role in the server manager. When enabled, ABE ensures that any files and folders users do not have privileges for are not shown to them in the directory tree.

How to Enable Access Based Enumeration

ABE must be explicitly enabled. Read this article to find out how to do this on Windows Server 2016. The feature is also available for NetApp, where ABE is activated via the ONTAP Command Line. For access-based enumeration to work correctly, NTFS permissions must also be set correctly.

ABE in DFS

Since Windows 2008 R2, access-based enumeration also works in the Distributed File System (DFS). It must also be explicitly activated using DFS management. More information on how to enable ABE for a DFS namespace.

Office building with people using access-based enumeration to control the visibility of file shares.

DFS: A must-have when many users share access to a folder. Adobe Stock, (c) Hero Images

Does ABE Affect Performance?

Access Based enumeration affects how and whether information on file shares is displayed. For instance, to determine which objects need to be hidden from an employee as they click their way through shared resources, Windows has to check all permissions for all files and folders contained within these folders.

Back in 2003, when ABE was first introduced, this process required considerable amounts of CPU power, which in turn led to a loss in performance and thus to an increase in costs. Learn more about this technical phenomenon here.

Nowadays, performance loss when you enable ABE is no longer an issue. Even for very large environments, Microsoft currently cites that the additional CPU power required is at around 2-3 percent. For shares containing a max. of 15,000 files, no differences in performance could be observed at all.

Best Practices: ABE and NTFS Permissions

As indicated above, enabling ABE alone is not enough. In order for access-based enumeration to work, users must also have the correct NTFS permissions needed to navigate to any subfolders they do have permissions for (List Folder Contents).

Example: If a user has the permission “Modify” for a folder located on level 2, this does not automatically give the user the right to browse level 1. To browse level 1, they must be given the List Folder Contents permission for level 1. Ideally, this would be done using a specifically designated list group.

Here is the recommended approach: The security groups that contain the different permissions for a folder on level 2 are added to a different security group that holds the List Folder Contents permission for the superordinate folder (in this case, level 1). This way, any users that are assigned read or write privileges via the corresponding permission groups automatically receive the necessary list rights in order to navigate to the folder in question.

If you want to set permissions on deeper levels, the procedure is the same: there are list groups for levels 1 and 2, so permission groups on level 3 are added to list groups on level 2, which are themselves members of list groups on level 1. See our infographic below for context:

Diagram picturing best practices for enabled access-based enumeration

Best practices for enabling access-based enumeration in Microsoft Windows, (c) tenfold Software

Deactivate Inheritance

Access Control Lists use the concept of inheritance, which means that access rights are automatically passed on from parent folders or files to subordinate (child) folders/files. To ensure ABE works correctly, it is very important to restrict inheritance when assigning these permissions.

If you enable inheritance for the “list contents” permission, users will be able to browse all folders on the file server because the permission needed to browse level 1 would propagate to all subordinate files and folders. To learn how to deactivate the inheritance function in Windows 10, click here.

Access Based Enumeration Increases Data Security

Access Based enumeration is an important aspect of data protection. While ABE cannot replace firewalls or virus scanners, it plays a major part in improving data security on the inside. As an admin, your mantra will always be: better safe than sorry. Assume the worst, which is that users will inevitably click their way through file shares in the company network if they can.

A folder named after to its purpose (e.g. “Restructuring_Fall_2022”) may stir up uncertainties and/or questions among users, even if they cannot access to the folder’s contents.

However, employee data theft is not the only issue we must consider; social engineering or other types of information misuse may also lead to significant problems.

ABE: Not Entirely Automated

In the best-case scenario, Access Based Enumeration works as follows:

  • With a combination of appropriate list groups and ABE enabled, you can ensure that users are only able to browse folders on the file server which they have the necessary permissions for.

  • Nesting list groups with other permission groups makes the process of assigning folder permissions quite straightforward because the user simply has to be added to the relevant permission group to receive access.

  • The user automatically receives the list rights needed to browse any superior folders simply by being a member of the necessary parent list groups.

As you can see: Access Based Enumeration works – but only if admins configure all settings and properties in accordance with best practices. If a share or its subfolders are not configured correctly or if you accidentally apply the unaltered default settings, users will be able to see the entire directory list, even with ABE active.

Whitepaper

Best Practices for Access Management In Microsoft® Environments

An in-depth manual on how to set up access structures correctly, including technical details. Also includes information on reporting and tips for implementation.

Apply an Access Management Strategy to Put Things Right

Once your company reaches a certain size and you have a large number of users accessing many shared objects on the file server, the time and effort it takes admins to manually manage all these settings and permission groups grows out of control. Managing numerous folders on levels 2, 3 or even deeper within the folder structure, means tracking hundreds or even thousands of nested groups. Not only is this a lot of work, but it also increases the risk of errors significantly.

For businesses with 100 users or more, it is therefore recommended to invest in an access management solution to simplify these processes.

tenfold creates and manages list groups automatically, sets permissions for folders on the basis of configurable rules and always uses best practice compliant groups. Learn more about file server access management with tenfold.

Automated Access Management

In businesses that do not yet employ dedicated Identity & Access Management software, you will inevitably come across users who hold outdated and/or superfluous permissions. A common practice that contributes to this kind of privilege creep is the practice of copying existing reference users to create accounts for new hires.

The good news is, not only does tenfold create and manage list groups automatically to ensure the access-based enumeration works smoothly, it also removes any outdated permissions found when it is first installed.

How does it do this? tenfold uses role-based access control through a profile system. The profile system must be configured one time when tenfold is initially installed. Once that is done, tenfold is able to assign default rights automatically, based on certain user attributes (such as department, location or role) and across systems (Active Directory®, SAP ERP, etc.).

Of course, it is not enough to match up and sort permissions just one time upon installation. Users change departments, they go on parental leave, they resign. And with each change, the permissions they need change, too. To stay on top of that, tenfold conducts automatic user access reviews. In this process, data owners are sent periodic reminders to confirm permissions they granted are still in use. With this approach, outdated privileges can be removed with just one click!

Sources:

http://woshub.com/enable-access-based-enumeration-in-windows-server/

https://docs.microsoft.com/en-US/windows-server/storage/dfs-namespaces/enable-access-based-enumeration-on-a-namespace

About the Author: Nele Nikolaisen

Nele Nikolaisen is a content manager at tenfold. She is also a book lover, cineaste and passionate collector of curiosities.

Удивительно, но несмотря на то, что Access-based Enumeration (ABE) появился ещё во времена Windows 2003 (SP1) (в русской редакции эта функция называется «Перечисление на основе доступа»), данной функцией пользуются до сих пор крайне небольшое количество системных администраторов, хотя данный функционал может достаточно сильно сберечь нервы, не отвечая постоянно на вопрос пользователя «а почему меня не пускает в папку Х?». Об этой полезной функции сегодня мы и поговорим.

Немного поговорим о теории и на пальцах разберём как происходит общение между клиентом и сервером в вопросе предоставления файловых данных:
— клиент обращается к серверу с запросом на доступ к определённой директории
— сервер проверяет — есть ли у пользователя разрешение на доступ к этой директории
— если у пользователя доступ к директории (чтение/листинг) разрешён — пользователи видит директории/файлы в этой директории
— по той же схеме пользователь запрашивает доступ к другим директориям/файлам
т.е. можно сделать вывод что проверка прав доступа производится после показа всего содержимого, что не всегда есть хорошо. Расскажу вот абстрактную историю из жизненного опыта: приходит на работу жена ген.директора и пытается совать нос во все дела компании, и естественно хочет получить доступ ко всем данным компании, хранящимся на файловом сервере. С одной стороны — доступ ей давать никто особо и не хочет, по тому что не надо ей туда лезть (ну как максимум — доступ на чтение, но это крайний случай), с другой стороны — жена генерального директора это вам не рядовой менеджер организации и просто так запрос не отклонишь. Но ведь она не в курсе — а что именно хранится на файловом сервер и какая структура данных там существует. Именно в такой ситуации нам и поможет ABE, она позволяет проверять права доступа до обращения к директориям/файлам в директории. Т.е. пользователь заходит в корневую директорию, допустим share и видит всего пару директорий, когда на самом деле все остальные сотрудники (ну кому это положено) видят полную структуру директорий и файлов. Соответственно не возникает вопросов что нет доступа в директорию Х и выдайте мне срочно-срочно права на полный доступ. Это один из тех примеров, когда IT подразделению приходится решать не совсем их проблемы, но чем можно очень сильно облегчить собственную жизнь. Но в принципе эта технология позволяет предотвратить несанкционированные действия в сторону файлового сервера. Ведь многие из вас ни раз встречали среди офисных сотрудников «мини-хакеров», как я люблю их называть. Которые любят позапускать сетевые сканеры, поискать дыры на ваших серверах и вообще — занимаются не работой, а членовредительством.
Настройка в Windows (у меня в данном случае свеженький 2012) достаточно проста:
Включаем данную функцию:
Screenshot 2013-04-16 21.25.54
Ну а дальше остаётся лишь настроить права на директории и всё. Директории, в которые у пользователя доступ есть — видны ему, а в которые доступ запрещён или не выдан — не видны.
Screenshot 2013-04-16 22.36.29
Ну а клиент соответственно видит только то что ему положено
Screenshot 2013-04-16 22.37.40

Настройка в linux ещё более проста, она сводится к включению ABE в конфиге samba:
access based share enum = yes
и выдать так же правильные права на директории.

Что хотелось бы сказать в конце:
Как можно уже логически догадаться — чем больше директорий в корневой директории — тем медленее будет осуществляться доступ к данным. Продумывайте более иерархичной. Microsoft заявляет, что при наличии 15000 файлов осуществляется падение скорости открытия папки на 1-3 секунды. ABE отлично сочетается с DFS, для более удобного администрирования сетевых ресурсов. Облегчайте жизнь себе и своим последователям, делайте администрирование простым, быстрым и удобным.

Это пожалуй первое упоминание Windows Server в моём блоге, но это не значит что я как то игнорирую эту ОС в своей работе, или не знаю её, или она мне на столько не нравится. Да, может быть это конечно в какой то мере и так, но с выходом Windows Server 2012 моё мнение несколько изменилось в лучшую сторону, эта система стала для меня более удобной (ну разве что мне не хватает кнопки пуск и меня бесит Метро-интерфейс) и интересной в плане работы с ней. Так что, возможно, теперь упоминания о ней будут чаще проскакивать в моём блоге 🙂

Использование унаследованных разрешений с перечислением на основе доступа 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 DOMAINUsers 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. На самом деле разрешений в файловой системе существует гораздо больше разрешений. Большинству простых пользователей их знать необязательно, а вот будущим системным администраторам такие знания могут очень даже пригодится.

Источник

Понравилась статья? Поделить с друзьями:
  • Настроить работу процессора в windows 10
  • Настроить микрофон в компьютере windows 7 по шагам
  • Настройка 3d vision nvidia на windows 10
  • Настроить прокси сервер на windows server 2016
  • Настроить микрофон в компьютере windows 10 программа