Access-Based Enumeration (ABE, перечисление на основе доступа) это опция файлового сервера Windows, которая позволяет скрыть от пользователя файлы и папки, к которым у него доступа. Это позволяет скрыть структуру каталогов и имена папок и файлов в общей сетевой папке.
Как включить Access Based Enumeration в Windows Server
Рассмотрим сценарий, когда на файловом сервере Windows есть некая общая сетевая папка с каталогами нескольких отделов. Все пользователи могут просматривать список директорий в этой папке (для этого на корневую папку даны права List folder или Traverse folder для группы Users). Но пользователи могут зайти только в каталоги, в списки доступа NTFS которых они добавлены.
Предположим, пользователь добавлен в группы доступа AD, назначенные на 2 каталога Public и Salary.
Группы безопасности AD добавлены в NTFS разрешения соответствующих подкаталогов в общей папки. Из ACL убраны разрешения, дающие доступ к подпапкам для групп Domain Users или Builtin\Users.
Чтобы включить ABE, откройте консоль Server Manager -> выберите роль File and Storage Services -> Shares. Отройте свойства общей папки и на вкладке Settings включите опцию Enable access-based enumeration.
Обновите содержимое общей папки у пользователя. Теперь пользователеь видит только два каталога, к которым ему предоставлен доступ. Оставшиеся папки скрыты от пользователя.
Кроме того, вы можете включать ABE на компьютерах домена AD с помощью групповых политик. Для этого используется GPP в секции: Computer Configuration -> Preferences -> Windows Settings -> Network Shares).
Если включить опцию Access-Based Enumeration, то для сетевой папки, опубликованной с помощью данной GPO, будет включен режим ABE.
Управление Access Based Enumeration из командной строки (PowerShell)
Можно включить ABE для сетевой папки из командной строки PowerShell.
Например, чтобы включить режим перечисления для общей папка с именем Docs, выполните команду:
Get-SmbShare Docs | Set-SmbShare -FolderEnumerationMode AccessBased
Вывести список опубликованных сетевых папок (включая общие административные папки Windows) и статус опции ABE:
Get-SmbShare | Select-Object Name,FolderEnumerationMode
Значение FolderEnumerationMode =
AccessBased
указывает, что Access Based-enumeration для них включен.
Отключить ABE для папки:
Get-SmbShare Docs | Set-SmbShare -FolderEnumerationMode Unrestricted
smb.conf
опции:
hide unreadable = Yes access based share enum = Yes
В корпоративной среде ABE часто применяется для папок DFS, скрывая от пользователей «ненужные» папки и предоставляя более удобную структуру дерева общих папок. Включить ABE на пространстве имен DFS можно с помощью консоли DFS Management или утилиты dfsutil.exe:
dfsutil property abde enable \\<namespace root>
Другие особенности и ограничений Access-based Enumeration в Windows
- Включение ABE на файловых серверах может увеличить нагрузку на сервер. Особенно заметна будет задержка отображения списка файлов в каталогах, которые содержат тысячи файлов (например, при наличии 15000 объектов в общей папке, скорость ее открытия замедлится на 1-3 секунды).
- ABE не работает при локальном просмотре каталогов на сервере.
- Члены локальной группы администраторов файлового сервера всегда видят полный список объектов в сетевой папке.
Спасибо, помогло. Не знал, что в 2012 включается по-умолчанию этот функционал. Никак не мог понять, как мне вернуть отображение папок без прав доступа.
спасибо за материал. Добавление символа $ к имени шары скрывает ее даже от тех кому в нее доступ разрешен. Нельзя ли сделать так чтобы основная шара была видна только тем, кому разрешен в нее доступ?
Насколько мне известно, нет. Либо пользователи ходят на шару с $, но не видят ее в окружении, либо в видимую шару в которой сами каталоги скрыты с помощью ABE.
Чтобы не было лишних вопросов, назовите шару нейтрально, типа \\server1\exchange
Здравствуйте, у меня терминальный сервер win 2012 r2.
Сделал доступ в папки некоторым сотрудникам, и включил данную функцию, но у пользователей у которых нет доступа, сами папки видны, но при клике естественно их не пускает.
Я правильно понял что данный функционал работает, не только на домене контр. но и для терминальных пользователей?
Как я понял, в вашем случае терминальные пользователи обращаются к папкам на локальном диске, а не к шаре по UNC пути.
В этом случае Access-based Enumeration работать не будет, т.к. служба сервера фильтрует обращения только к сетевой папке (unc путь в формате \\server1\share).
Есть глубоко_вложенная папка \\fs\departament\otdel\papka-1\docs\info
Как правильно организовать доступ для юзера только к этой папке (info) ? Технология АВЕ включена.
Ищу «автоматический» вариант
т.е. нужно что б заходя на \\fs (он мапится всем ) юзер мог спокойно проломится в info не видя ничего другого…
Такое реально?
Так не получится. Придется выносить info в отдельную шару верхнего уровня или создать в корне \\fs\departament\ ярлык на папку \\fs\departament\otdel\papka-1\docs\info. На ярлык и внутренюю папку нужно дать права нужной группе пользователей
К сожалению, с сайта MS удалили/переместили утилиту для включения опции ABE для Windows Server 2003. Случаем ни у кого не завалялась данная утилита?
Апликуха андроид прекрасно «видит» все папки, даже с $
Мдааа… как так получилось, что samba на linux и bsd-системах умеет любую папку скрыть просто указывая в конфиге browsable=no, а «родная» для smb-протокола система — нет? Мне вот надо, например, чтобы шара //fileserver/test была скрытой и сетевой путь к ней был именно //fileserver/test, а не //fileserver/test$
Здравствуйте. Как настроить безопасность или доступ к папкам в шаре чтобы они отображались при включенном в шаре доступом на основе перечисления. Vindows Server 2016. Общая папка с подключенным доступом на основе перечисления отображается на других компьютерах. Все папки находящиеся в шаре тоже видны. Делаешь доступ к папке пользователя компьютера, в компьютере данного пользователя в шаре папка пропадает. Короче работает с точностью наоборот.
Вы, вероятно, не поняли что на папках в шаре нужно настраивать NTFS разрешения. Если на папку стоит ntfs право на чтение/read для Users или everyone, она будет отображаться у всех пользователей. Если изменить права на папку в шаре, например оставить в ntfs правах только группу domain admin, значит эта папка в шаре будет отображаться только для пользователей с этой группой безопасности
На Windows Server 2019 Standard заметил, что функция ABD включается автоматом для «расшаренных» для определённых пользователей. Но все равно видно тем, у которых нет доступа…