Как скрыть папки недоступные пользователю в windows server 2012 r2

Технология 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.

Понадобилось скрыть папки недоступные пользователю на уровне NTFS средствами Windows. Опишу ситуацию. Есть файловый сервер на Windows server 2008 R2 (2012). Расшарена папка, на нее даны права всем пользователям. Внутри папки много много других папок, на все даны индивидуальные NTFS разрешения. Когда пользователь заходит на шару вида \servershare он видит весь список папок:

Это список всех папок, доступных пользователям. Нам же нужно скрыть недоступные. Для этого идем по RDP на  сервер. Запускаем оснастку storagemgmt.msc. Заходим в свойства шары, Жмем advanced и ставим галку access based enumeration. В общем вот скрин:

Теперь, если зайти под пользователем на шару и обновить все папочки то получится вот так:

Это как раз то, что нам и нужно. Это очень удобно когда на ресурсе очень много папок и пользователям в них сложно ориентироваться.

Удачи!

P.S.: для включение этой штуки проще всего воспользоваться утилитой от МикроСофта: https://www.microsoft.com/en-us/download/details.aspx?id=17510

imageПосле развёртывания новой фермы RD Connection Broker на базе Windows Server 2012 R2 встаёт вопрос настройки пользовательского окружения на серверах RD Session Host. В целом общий процесс настройки почти полностью совпадает с тем, что уже описывалось ранее в заметке Remote Desktop Services — Настраиваем пользовательский интерфейс на серверах RD Session Host. Исключением является лишь пара пунктов, которые будут здесь описаны.

***

Метод описанный в пункте Скрываем излишние папки в профиле пользователя применительно к Windows Server 2012 R2 работать не будет. Вместо него воспользуемся вариантом, описанным здесь Windows 8 Forums — This PC — Add or Remove «Folders» in Windows 8.1

image

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

{1CF1260C-4DD0-4ebb-811F-33C572699FDE} — Музыка
{374DE290-123F-4565-9164-39C4925E467B} — Загрузки
{3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA} — Изображения
{A0953C92-50DC-43bf-BE83-3742FED03C9C} — Видео
{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0} — Документы
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641} — Рабочий стол

Предположим мы хотим удалить папки “Музыка”, “Загрузки” и “Видео”. Для этого нам можно либо вручную удалить соответствующие ключи реестра, либо создать GPP, удаляющие эти ключи (если нужно одинаково конфигурировать несколько серверов). Например, создадим для этой цели параметры GPP в разделе Computer ConfigurationPreferencesWindows SettingsRegistry

image

Соответствующие параметры для удобства объединены в группу, которая в нашем примере называется WS-2012R2. В свойствах этой группы параметров сделано нацеливание на семейство ОС – Windows Server 2012 R2 Family. Результат виден сразу после применения GPO (перезагрузка ОС при этом не требуется):

image 

***

Метод описанный ранее в пункте Настраиваем стартовый экран Windows применительно к Windows Server 2012 R2 работать вполне возможно и будет, но более правильно использовать другой метод, доступный в новой ОС для управления стартовым экраном (Start Screen) Windows и описанный в документе Customize Windows 8.1 Start Screens by Using Group Policy:

1) После того, как на все сервера RD Session Host установлено и настроено однотипное программное обеспечение, входим на любой из этих серверов и настраиваем стартовый экран Windows в том виде, в котором мы хотим его представить всем пользователям без возможности последующей модификации.

2) Все сделанные настройки стартового экрана сохраняются на общедоступный сетевой ресурс в формате XML с помощью PowerShell командлета Export-StartLayout

Export-StartLayout -Path "\holding.comRDS-SettingsSTARTSCREENStartScreenSettings.xml" -As XML

Если интересно заглянуть в результирующий XML файл, может потребоваться какой-нибудь текстовый редактор с подсветкой синтаксиса XML и автоматическим форматированием, например Notepad++ с плагином XML Tools

3) Указать путь к выгруженным настройкам стартового экрана можно с помощью параметра групповых политик Start Screen Layout в разделе User ConfigurationPoliciesAdministrative TemplatesStart Menu and Taskbar

image

Однако если для разных категорий пользователей требуются разные настройки стартового экрана, то можно более гибко сконфигурировать этот параметр с помощью Group Policy preferences (GPP). Для этого в разделе GPP User ConfigurationPreferencesWindows SettingsRegistry
нам потребуется настроить параметры LockedStartLayout и StartLayoutFile в ключе реестра
HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsExplorer

image

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

Однако при централизованной раздаче настроек стартового экрана, как и в прошлой версии ОС, отображаться будут только те приложения, которые используют хорошо известные AppID (см.выгруженный файл XML).

Интересную информацию по этому вопросу можно найти например в заметке Windows 8.1 Start Screen – Behind the Scenes. Отсюда можно почерпнуть, что в ряде случаев в составе AppID используются идентификаторы известных папок описанных в документе Dev Center — Desktop  — KNOWNFOLDERID. Эксперименты с размещением как ярлыков так и самих исполняемых файлов в указанных каталогах с последующей подменой GUID папок AppID в XML-файле настроек стартового экрана желаемого результата не дали. Фактически могу констатировать, что метод описанный в статье применительно к Windows Server 2012 R2 не работает.

В ходе разного рода экспериментов в руки так же попала одна интересная утилита — OblyTile v0.9.9 . Она позволяет создавать плитки стартового экрана с форсированным назначением для всех пользователей системы, но опять же, она не умеет размещать эти плитки в нужных группировках. И опять же, несмотря на то, что здесь есть такая хорошая штука как экспорт и импорт плиток, эти функции не получится использовать для полноценного копирования плиток между разными серверами, так как при экспорте плиток теряется связь с AppID исходной системы.

Поэтому, по существу вопроса, в плане управляемости плитками стартового экрана в новой ОС принципиально ничего не изменилось, что на мой взгляд, весьма печально, так как стартовый экран никак не получается использовать как отправную точку доступа пользователей ко всем ресурсам, как это было например со старым добрым меню “Пуск”.

Технология 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;
• Члены группы локальных администраторов всегда видят полный список содержимого папки.

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

Есть локальный сервер на windows server 2012, 10-20 пользунов, используется как файловое хранилище всеми.

Пользуны заведены через windows server essentials, есть одна «группа пользунов» (планируются больше), у всех примерно одинаковые права.
Есть ряд личных папок юзеров, и набор общих.

мучаюсь с правами доступа

вот есть, допустим:
папка «Шурик». на уровне «группы пользунов» на неё стоит «только чтение»
папка «Общак» на уровне «группы пользунов» на неё стоит «только чтение»
папка «Секреты» на уровне «группы пользунов» на неё стоит «нет доступа»

ещё есть пользун «Шурилло». в его допусках:
папка «Шурик» доступ «чтение и запись»
папка «Общак» доступ «чтение и запись»
папка «Секреты» доступ «нет доступа»

Сейчас самая большая проблема — что папка «Секреты» видна всем и всегда.
Нашёл настройку ABE (Access Based Enumeration), галку поставил всем папкам, но ничего не изменилось

т.е. я по сути не могу найти метода скрывать часть папок от юзеров
подход ABE — скрывать хотя бы содержимое папок — подходит тоже.

прошу, подскажите хотяб в какую сторону гуглить — все запросы что в голову пришли перепробовал

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

  • Remove From My Forums
  • Вопрос

  • Здравствуйте. Есть сервер windows server 2012 r2 без AD и DC. На сервере есть роль служба удаленных рабочих столов. К нему подключены несколько тонких клиентов по RDP. Клиенты находятся в группе пользователи а администратор в группе Администраторы.
    Когда я через групповые политики скрываю диски они скрываются у тех и других. Как скрыть их только от пользователей, находящихся в группе пользователи?

Ответы

  • Выполнить — mmc — Добавить оснастку -Редактор объектов групповой политики — Обзор — Пользователи — Не администраторы — ОК. Настраиваете что вам нужно. 

    • Предложено в качестве ответа

      22 октября 2018 г. 8:17

    • Помечено в качестве ответа
      Mycca
      22 октября 2018 г. 8:50

    • Помечено в качестве ответа
      Mycca
      22 октября 2018 г. 8:50

Понравилась статья? Поделить с друзьями:
  • Как скрыть папки для другой учетной записи windows 10
  • Как скрыть папки в windows 10 в моем компьютере
  • Как скрыть панель уведомлений на windows 10
  • Как скрыть панель пуск в windows 10 при просмотре видео
  • Как скрыть панель поиска windows 10