Access based enumeration

Installing and Enabling ABE

When I say that ABE was included with Windows Server 2003 R2 (or SP1), I also need to explain that in order to use ABE you still need to download and install something on your file server. This something is a component that provides a user interface (both graphical and command-line) that allows you to enable and configure ABE on your server. You can download this component here from the Microsoft Download Center, but make sure you download the correct version depending upon your processor platform (x86, AMD64 or IA64). Once you’ve downloaded the appropriate Windows Installer package, install it on all R2/SP1 file servers you want to enable ABE functionality on.

Installing the ABE user interface component is a straightforward process (Figure 1):

Figure 1:

The only significant decision you need to make during the install process is whether you want to automatically enable ABE retroactively on all existing shared folders on your server, or whether you prefer to configure this manually later on a per-folder basis (Figure 2):

Figure 2:

Note that choosing the first option in Figure 2 doesn’t mean that future shares you create will automatically have ABE enabled on them—you still have to manually configure ABE on future shares you choose to create on your server.

Once the ABE user interface is installed on your server, opening the properties sheet for a shared folder will display a new tab for enabling ABE on that share (Figure 3). Note that this tab won’t appear on the properties sheets of folders that haven’t yet been shared.

Figure 3:

Select the first checkbox in Figure 3 to enable ABE on the shared folder. (Select the second chechbox to do the same to all existing shares on your server). It’s basically as simple as that. To check that ABE is working, compare Figure 4 below, which shows what Bob would see when he browsed the BUDGETS share from his XP machine before ABE is enabled on this share, with Figure 5 showing the same view on Bob’s computer after ABE is enabled on the share.

Figure 4:

Figure 5:

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.

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

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.

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:\windows\system32 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:

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).


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.

Access Based Enumeration on Server 2016

By default, the process of accessing to the network folder performed as follows:

  1. The user connects to the server and requests access to the shared folder.
  2. LanmanServer service on the server (responsible for sharing files and folders) checks if the user have NTFS permissions to read/list the folder content. If access is available, the service returns a list of all the files and folders contained in it.
  3. Next user selects a file or folder and tries to open it.
  4. The server checks if the user has the necessary access rights. If a user have necessary permissions, it returned desired item. If user have no rights – an access denied error returns.

According to this algorithm, the server at first returns the user a list of all the folder contents, and checks access rights to individual files and folder only when user tries to access them.

Then using ABE, the user will be shown only those resources for which he has the necessary rights: List contents for a folders or Read for individual files.

Some ABE features:

  • ABE controls only list of the contents in a shared folder, but does not hide the list of shared folders from the users. Therefore, when a user connects to the server, he will see all shared folders. If you need to create a hidden share, you can simply add the character $ to its name, for example ShareName$.
  • ABE doesn’t work when user logged locally or by connecting via RDP.
  • Members of the local Administrators group always see the full list of the folder contents.

ABE is enabled for each folder individually. To configure ABE, open Server Manager console and select role File and Storage Services.

Note. To enable Access Based Enumeration, File and Storage Services role must be installed on the server.

Then, go to Shares section and choose from list a network folder, for which it is necessary to enable ABE. Right click on it and select its Properties.

Then in the properties of the share switch to Settings tab and put the check box on Enable access based enumeration option.

Also, you can enable access-based enumeration on a network share using PowerShell cmdlet Set-SmbShare using a simple command:

If you manage public folders settings centrally through Group Policy (Computer Configuration -> Preferences -> Windows Settings -> Network Shares), you can enable ABE in the share properties.

As for example – here is a content of a network folder with the enabled ABE for the server administrator:

And this is how it looks for the average user.

Thus, the ABE technology makes life easier for both Users and Administrators. The redundant information in the network folders are not displayed for User and Administrator no longer has to answer questions about the lack of access.

However, Access Based Enumeration has a small lack – an additional server load. The load depends on the number of users per server and the number of objects in the shares. During heavy load the speed of folder opening may significantly decrease.

Трассировка сети

Чтобы собрать сетевой след, выполните следующие действия:

Откройте окно командной подсказки, введите следующую команду и нажмите кнопку Ввод:

Удалите все существующие сетевые подключения File Server, заверив следующую команду:

Инициализация кэша всех имен путем удаления существующего кэша:

Чтобы удалить кэш DNS, введите следующую команду и нажмите кнопку Ввод:

Чтобы удалить кэш NetBIOS, введите следующую команду и нажмите кнопку Ввод:

Чтобы удалить кэш Kerberos, введите следующую команду и нажмите кнопку Ввод:

Чтобы удалить кэш ARP, введите следующую команду и нажмите кнопку Ввод:

Попробуйте подключиться к сетевой сети, введя следующую команду и нажав кнопку Ввод:

Чтобы остановить сетевой след в неудачном сценарии, введите следующую команду и нажмите кнопку Ввод:

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.

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.

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.

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

Implementing Access-Based Enumeration in Windows Server 2003 R2

Get your copy of Windows Server Hacks!

I worked for a while as a network admin for a mid-sized business back in NT 4 days, and one of the things I remember is how curious users are. For example, we had several file servers on our network and each of them had a number of different shares. From time to time when I passed by a user’s desk I’d see them trying to click on a file in some share and getting Access Is Denied. Why did this happen? Because they were trying to open documents they didn’t have NTFS permissions on to read or modify. Yet they often double-clicked on them. Why? Because they were curious.

I mean, who wouldn’t be curious if you found a share on the network named HR (for Human Resources department) and in this share you found a folder named Layoffs and within this folder you found a document named NextMonthsLayoffs.doc. Yikes! Will I be one of those who will be laid off? Click-click…rats.

This scenario highlights one of the weaknesses of file sharing on Windows platforms, namely that by default all users who can access a network share can, at a minimum, see what files and folders there are in that share, even if they don’t have any permission to access them. For example, say you share the folder C:Budgets as BUDGETS with everyone having Read share permission and the Users group having Allow: Read & Execute ACE on the folder. Say also that within this share is a file named ThisYear.xls and a folder named Previous. Now try this: add user Bob Smith to the ACL for these two file system objects, and assign Deny: Full Control ACE to both of them. Now log onto a Windows XP desktop as user Bob Smith and open My Network Places and browse till you find the BUDGETS share. Double-click on the share and what do you see? A file named ThisYear.xls and a folder named Previous. Try double-clicking on either of them to read the spreadsheet or browse the folder, and you get Access Is Denied. Well, if you, as Bob Smith, are denied access to these items, why are you even allowed to see them in the BUDGETS share?

That’s the whole rationale behind Access-Based Enumeration (ABE), a new technology included in Windows Server 2003 R2. (ABE was actually first included in Service Pack 1 for Windows Server 2003, but this service pack forms the basis of the R2 version of the platform.) What ABE does is just what Windows admins have always been wishing Windows file servers would do—hide files and folders from users who don’t have access to them. In other words, with ABE enabled and configured for the BUDGETS share, Bob can try browsing the BUDGETS folder using My Network Places, but when he looks inside BUDGETS he doesn’t see anything there—his NTFS permissions on the file and folder present don’t allow him to access these items, so they’re not even visible to him. Note that this behavior is the same regardless of whether you explicitly assign a Deny ACE to Bob while granting Allow to the Users group, or whether you remove the ACE for Users and grant an Allow ACE only to groups of users that need it (groups that don’t include Bob as a member) and have no ACE at all for Bob.

The result? If ABE had been available to me to use back in old NT 4 days, only senior management and HR personnel would have known about the existence of the Layoffs folder within the HR share, and no one but these personnel would have known about the existence of a document named NextMonthsLayoffs.doc. In other words, with ABE there wouldn’t have been rumors of impending layoffs flying about—unless they were started by HR personnel or by a manager of course!

Настройка сетевых параметров сервера

Для развертывания одиночного сервера в среде, работающей на основе IPv4 и IPv6, необходимо выполнить следующие настройки сетевого интерфейса: Для настройки всех IP-адресов используется пункт Изменение параметров адаптера в разделе Центр управления сетями и общим доступом Windows.

  • Пограничная топология

    • Один общедоступный статический IPv4- или IPv6-адрес для Интернета.

      Примечание

      Для Teredo необходимы два последовательных общедоступных IPv4-адреса. Если вы не используете Teredo, вы можете настроить один общедоступный статичный IPv4-адрес.

    • Один внутренний статический IPv4- или IPv6-адрес.

  • За устройством NAT (два сетевых адаптера)

    • Один внутренний IPv4- или IPv6-адрес, направленный в Интернет.

    • Один статический IPv4- или IPv6-адрес для сети периметра.

  • За устройством NAT (один сетевой адаптер)

    Один статический IPv4- или IPv6-адрес.

Примечание

Если сервер DirectAccess оснащен двумя или более сетевыми адаптерами (один указан в доменном профиле, а другой — в публичном или частном), но планируется использование топологии с одной сетевой картой, следует выполнить следующие действия.

  1. Убедитесь, что второй сетевой адаптер и все дополнительные адаптеры определены в профиле домена.

  2. Если второй сетевой адаптер по какой-либо причине не может быть настроен для доменного профиля, следует вручную установить область действия политик IPsec DirectAccess для всех профилей с помощью следующих команд Windows PowerShell.

    Политики IPsec — DirectAccess-DaServerToInfra и DirectAccess-DaServerToCorp.

Настройка объектов групповой политики

Для развертывания удаленного доступа требуется как минимум два объекта групповой политики: один объект групповой политики содержит параметры для сервера удаленного доступа, а один — параметры для клиентских компьютеров DirectAccess. При настройке удаленного доступа мастер автоматически создает требуемый объект групповой политики. Однако если ваша организация применяет Соглашение об именовании или у вас нет необходимых разрешений для создания или изменения объектов групповой политики, они должны быть созданы перед настройкой удаленного доступа.

Сведения о создании объекта групповой политики см. в разделе Создание и изменение объекта Групповая политика.

Важно!

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

  1. Перед настройкой DirectAccess свяжите созданные объекты групповой политики с соответствующими подразделениями.
  2. Настройте DirectAccess, укажите группу безопасности для клиентских компьютеров.
  3. У администратора могут как иметься, так и отсутствовать разрешения связывать объекты групповой политики с доменом. В любом из этих случаев объекты групповой политики будут настроены автоматически. Если объекты групповой политики уже привязаны к подразделению, связи не будут удалены, а объекты групповой политики не будут связаны с доменом. Для объекта групповой политики сервера подразделение должно содержать объект-компьютер сервера. В противном случае объект групповой политики будет связан с корневым каналом домена.
  4. После завершения настройки администратор домена также может связать объекты групповой политики DirectAccess с необходимыми подразделениями, если это не было сделано до запуска мастера DirectAccess. Связь с доменом можно удалить. Действия по связыванию объекта групповой политики с подразделением можно найти здесь .

Примечание

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

Предупреждение

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

Настройка Access Based Enumeration (ABE) в Windows Server 2016

По умолчанию, когда пользователь открывает некую общую сетевую папку на сервере (предполагаем, что у пользователя есть право на доступ к сетевой шаре), SMB отображает ему полный список каталогов и файлов, которые находятся в ней. Функционал Windows «перечисление на основе доступа» (Access Based Enumeration – ABE) позволяет в сетевой папке скрыть от пользователя те файлы и папки, на которые у него отсутствуют 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» (роль уже должна быть установлена).

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

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

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

Set-SmbShare -Name «Share» -FolderEnumerationMode AccessBased

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

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

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

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

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

Страницы

Что такое Access-based Enumeration (ABE)

Мне часто приходится слышать вполне логичный вопрос от своих слушателей: «Почему Windows показывает пользователям ВСЕ файлы из общих папок, несмотря на то, что к большей их части у пользователя все равно нет доступа?»

Ответ на вопрос и способ решения проблемы описаны в этой статье. В процессе написания и тестирования открыл для себя много интересного.

Теория

Встроенный в Windows механизм отображения общих папок уходит своими корнями в дремучие времена клиентов DOS и сервера Microsoft LAN Manager. В то время и количество сетевых ресурсов было небольшим, и вычислительные возможности систем ограничены. Поэтому алгоритмы предоставления информации о сетевых ресурсах были предельно простыми и, по большому счету, они не изменились до сегодняшнего дня.

Упрощенно, последовательность обращения к файлу в «шареной папке» выглядит так:

  • клиент, обращаясь к серверу LAN Manager (сервис LanmanServer в современных Windows), получает список всех общих папок, находящихся на нем;
  • пользователь выбирает название общей папки и пытается к ней подключиться;
  • сервер проверяет, есть ли у пользователя разрешение на выбранную общую папку и, при наличии разрешения, высылает клиенту список всех файлов и папок в ней находящихся;
  • пользователь выбирает интересующий его файл и пытается его открыть;
  • сервер проверяет, есть ли у пользователя права доступа к выбранному файлу и, если они есть, высылает пользователю сам файл.

Исходя из указанной выше последовательности видно, что сервер проверяет клиентские права доступа на файлы и папки уже ПОСЛЕ того, как пользователь получает список доступных ресурсов и выбирает один из них.

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

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

Пример того, как общая папка Docs с включенной опцией ABE выглядит со стороны клиента .

. а вот, что на самом деле лежит в папке Docs (после отключения ABE):

Разница существенная .

Практика

В русскоязычном интерфейсе Windows термин Access-based Enumeration (ABE) переводится как «Перечисление на основе доступа«.

Опция ABE доступна для настроек общих папок, начиная с Windows Vista. Windows XP функционал ABE не поддерживает. ABE может также применяться и для пространства имен DFS (Distributed File System). Детали ниже.

ABE и Windows Server 2003 / R2

В Windows Server 2003 функционал Access-based Enumeration появился вместе с Service Pack 1. Средства настройки ABE, тем не менее, в Service Pack не встроены. Скачать их можно тут.

В процессе установки средств управления ABE мастер предлагает включить ABE на все имеющиеся папки или включить ABE в индивидуальном режиме позже.

После установки пакета в свойствах всех папок на Windows Server 2003 появляется вкладка Access-based Enumeration. На ней можно включить/отключить ABE индивидуально для каждой общей папки или для всех имеющихся папок сразу.

Обратите внимание, что для всех созданных после установки ABE общих папок функция ABE будет ОТКЛЮЧЕНА и на новых папках ее нужно активировать принудительно

Решения проблемы

Странное решение от меня

Очень быстрое и странное дополнение от меня. Бывает такое, что сеть настроил вроде бы нормально, оно даже вчера работало, одинаковые версии Windows 10, все права назначены – но вот хоть об стену вываливаются вышеуказанные ошибки. Щелкаешь по папкам – а не дает войти (еще хуже, когда не дает войти в сам компьютер в сетевом окружении или вообще там ничего не видно).

Лично я в таком случае захожу на втором компьютере тоже в Сеть – как правило там начинается поиск, или даже делаются какие-то запросы-разрешения. Суть – второй компьютер обычно видит первый. И самое интересное – после такой манипуляции первый компьютер тоже успешно начинает работать со вторым. Необъяснимая магия, которая может продолжать работать месяцами без всяких сбоев.

Быстрый способ – реестр

Вся проблема этих доступов связана как раз с той самой подсистемой доступа. А почему бы нам ее и не заглушить на корню? Для больше части людей такая правка в реестре начисто исправляет ситуацию. Рекомендую попробовать, но если что – просто сделайте все как раньше.

Данный способ особенно актуален для Windows 10 Home, где доступа к редактору локальной GPO попросту нет. Зато работает как часы. Опытные могут сделать это же через команду (но для надежности лучше протыкать вручную):

Шаг 1 – Проверяем настройки общего доступа

Теперь приступаем уже к основной части, если прошлые вдруг чего-то не исправили моментальные проблемы системы. Начнем все-таки с базы, а вдруг вы чего-то неверно выставили в настройках (хотя я вам охотно верю, что все сделали правильно).

Напоминаю, что предоставление доступа к папке или диску проходит в два этапа: доступ нужно разрешить в нескольких местах.

Очень надеюсь, что вы изначально давали доступ точно так же. Некоторые рекомендуют пользоваться пунктом «Поделиться» в Windows 10 для расшаривания в домашней сети, но чего-то на практике это вносит только путаницу. Лично я как старовер пользуюсь дедовскими методами. Не получается? Едем дальше.

Шаг 2 – Запускаем Службы

За доступ ко всем радостям совместного пользования папок отвечает служба «Сервер». Иногда она выключена – включаем:

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

Обычно причина редко связана с этим пунктом, но попробовать ведь никто не запрещает.

Лично мне это направление тоже не нравится, но были и те, кому помогло. Поэтому пропускать было нельзя.

Шаг 6 – SMB1

На случай если сопрягается новая «десятка» со старыми версиями Windows. По умолчанию в ней отключен протокол SMB1. Для разрешения придется идти в «Программы и компоненты» (лучше через Поиск) – «Включить и выключить компоненты Windows» и ставить ее вручную (SMB 1.0 / CIFS File Sharing Support).

Файловый сервер на базе Windows Server 2016 Шаг [2] Настройка прав доступа к сетевым папкам на файловом сервере

Файловый сервер установлен. Об установке и настройке файлового сервера смотрите статью «Файловый сервер на базе Windows Server 2016». В этой статье я расскажу о настройке прав доступа к сетевым папкам на файловом сервере.

На логическом диске D: файлового сервера создадим папку, например, share-local. Это будет корневая папка для всего файлового сервера.

Включаем Sharing для этой папки. Нажимаем Advansed Sharing > удаляем Everyone и добавляем Authenticated Users или Domain Users.

Устанавливаем права для Authenticated Users.

Теперь включаем ABE (Access Based Enumeration) — папки, к которым нет доступа, не будут отображаться. На Windows Server 2016 опция ABE находится в File and Storage Services > Shares. Выбираем нашу папку, клик правой кнопкой мыши >Properties и в пункте меню Settings ставим флаг — Enable access-based enumeration.

Возвращаемся к нашей папке share-local. Заходим на вкладку Security, нажимаем Advansed. В появившемся окне Advansed Security нажимаем Disable inheriatance (Отключить наследование). Отключаем наследование с преобразованием унаследованных прав в явные.

Оставляем полный доступ для этой папки, ее подпапок и файлов администраторам и системе, права создателя-владельца урезаем, остальные права доступа удаляем.

Добавляем группу Domain Users c правом только чтения и только этой папки.

Создаем подпапки отделов. Вновь созданные папки будут видны только администраторам. Добавим группы, которые должны получить доступ к ним. И не забываем поставить флаг Write для групп.

Как видно, теперь пользователь сети нужного отдела видит папку своего отдела и может в ней создавать папки и файлы.

Создаем папку для второго отдела, добавляем нужную группу к доступу — у нашего пользователя по прежнему только его папка.

Помним, что один из отделов уже имеет общий ресурс для отдела. И нужно этому отделу подключить еще одну сетевую папку. Для этих целей мы создали наш Namespace. O Namespace смотрите статью «Файловый сервер на базе Windows Server 2016».

Подключаем сетевой ресурс через \\unitec.local\share-files

Видим 2 папки нашего отдела. Одна из них корневая со старого сетевого ресурса (dc share), а вторая подпапка отдела (new share) с нового файлового сервера. У пользователя все работает, есть возможность создавать файлы и папки.

Представим ситуацию, что кто-то вне нашего отдела узнал, что в локальной сети есть сетевой ресурс \\unitec.local\share-files и решил проверить — будет ли у него доступ.

В результате такой пользователь увидит следующее. У него будут отображаться 2 папки первого отдела. Если он зайдет в корневую папку старого сетевого ресурса (dc share) — то для него папка будет пуста, так как на папке включен ABE. При попытке входа на подпапку отдела нового файлового сервера — получит ошибку. Права доступа у нас работают.

Хочу добавить, что у меня не стояла задача создания структуры папок в корневой папке отдела и назначения прав на папки структуры.

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

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

Обратите внимание на значение атрибута FolderEnumerationMode. В нашем случае его значение – Unrestricted

Это означает, что ABE отключен для этой папки.

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

Get-SmbShare | Select-Object Name,FolderEnumerationMode

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

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

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

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

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

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode Unrestricted

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:


FolderEnumerationModeUnrestricted

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

Get-SmbShare | Set-SmbShare -FolderEnumerationMode AccessBased

To disable ABE use the command:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode Unrestricted

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: