Windows сервер скрытые папки

Скрываем папки недоступные пользователю с помощью Access-Based Enumeration (ABE) в Windows Server

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

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

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

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

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

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

Читайте также:  Thinkpad t420 bluetooth windows 10

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

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

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

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

Управлять 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.

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

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

Читайте также:  Как полностью удалить автокад с компьютера windows 10

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

Настройка 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.

Чтобы активировать 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). Выведем свойства конкретной сетевой папки:

Обратите внимание на значение атрибута 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

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:\windows\system32 в такой же каталог на клиенте. После этого включить ABE можно по сценарию с командной строкой, описанному выше.

Читайте также:  Windows embedded compact 2013 product key

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

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

Показать скрытые папки и файлы

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

Все просто, фактически всё кэширование интернет-браузеров и исполнительных программ происходит как раз в папках с именами Local Settings, Application Data и Temp, которые расположены на вашем локальном диске С, или диске, на котором установлена операционная система Windows.

Вот как раз эти папки и являются по умолчанию скрытыми. У меня под рукой только 2 ОС: 32-х разрядная Microsoft Windows XP sp3 и 64-и разрядная Microsoft Windows Server 2008. Ну вот на их примерах, я вам и покажу, как включить отображение скрытых файлов.

WinXP

Для включения скрытых файлов в этой ОС, вам необходимо перейти в меню «Пуск»-«Настройка»-«Панель управления».

Далее переходим в Панель управления основными свойствами вашего компьютера. Рекомендую поменять отображение значков в наиболее удобный для вас (в моем примере я использовал вид отображения «значки»).

Сделать это можно из пункта меню «Вид». Далее находим пиктограмму с названием «Свойства папки» и открываем ее.

В открывшемся окне нам нужно перейти на вкладку «Вид», прокрутить скролл в самый низ, и в пункте «Скрытые файлы и папки» установить чекбокс на значении «Показывать скрытые файлы и папки» и нажать «Применить».

В момент применения скорее всего станет активным кнопка «Применить ко всем папкам» и для использования данного свойства ко всем папкам и файлам вашего компьютера, рекомендую ее установить.

Включение отображения скрытых файлов и папок, кстати, можно сделать и непосредственно из папки (находясь в папке, переходим в пункт меню «Сервис»-«Свойства папки»), в которой необходимо получить доступ к этим файлам.

Скрытые папки, после включения их отображения принимают немного осветленный цвет, в отличии от не скрытых.

WinSrv2008

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

Но настройка отображения остается прежней.

И в панели инструментов названия пиктограммы имеет название «Параметры папок».

Вот в общем-то и все. Надеюсь, заметка была вам полезна.

Оцените статью