Частенько пользователи видят много общих папок, но доступа к ним не имеют. Чтобы понять, почему так происходит и как скрыть каталоги, разберемся с технологией Access-based enumeration.
Access-based enumeration (ABE) дословно переводится как «перечисление на основании доступа». Эта система позволяет на общих сетевых папках или шарах скрыть от пользователя те файлы или папки, к которым у него нет прав доступа.
Скрытая сетевая папка
Для понимания процесса разберем, как работает механизм подключения к сетевой папке.
1. Пользователь подключается к нашему серверу и запрашивает доступ к сетевой расшаренной папке.
2. Сервер, а если быть более точным, служба LanmanServer, отвечающая за общий доступ к файлам и папкам, смотрит, есть ли у пользователя разрешения файловой системы на чтение и листинг данной директории. Если они есть, то возвращает ему список всех файлов и папок.
3. Пользователь выбирает из списка полученных файлов интересующий и пытается его открыть.
4. Сервер проверяет, есть ли у пользователя требуемые права доступа на данное действие. В том случае, если все в порядке и права есть, возвращается результат запроса, иначе выдается ошибка — нехватка прав доступа.
При такой схеме сервер сначала выдает пользователю список всего содержимого папки, а права доступа к отдельным файлам и папкам внутри нее проверяет потом, при попытке доступа. Конечно же, без необходимых прав пользователь все равно не сможет получить доступ к файлам.
Но если сетевая расшаренная папка насчитывает более сотни различных папок, а доступ у пользователя есть только к трем, смысла отображать такой список нет. В таких случаях и нужен Access-based enumeration.
При активации ABE сервер будет проверять права пользователя на содержимое папки перед тем, как отправлять список. Поэтому, как вы понимаете, пользователь увидит только те папки, к которым имеет необходимые права — просмотр содержимого для папок и чтение для отдельных файлов.
Как скрыть сетевую папку
Для активации ABE нужно, чтобы у сервера была роль File and Storage Services. Заходим в раздел расшаренных папок и, выбрав необходимую общую папку, переходим в ее свойства.
Остается только включить в свойствах нужную функцию. В нашем случае это Enable access-based enumeration.
Стоит отметить, что при большом количестве файлов и пользователей нагрузка на сервер будет значительной и папки могут открываться с задержкой.
Стоит учитывать и то, что ABE не распространяется на подключение к серверу по RDP и, естественно, на администраторов сервера.
Еще по теме: Список открытых папок