Access-based enumeration або як приховати вміст загальних папок, windows для системних

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

трохи теорії

Яким чином відбувається взаємодія між клієнтом і сервером при зверненні до спільної папки:

З цієї схеми ясно, що сервер спочатку показує користувачеві весь вміст папки, а перевірку прав доступу здійснює тільки після спроби доступу до його вмісту.

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

Тобто користувач одного відділу (наприклад, складу) в одному і тому ж каталозі буде бачити один список папок і файлів.

Access-based enumeration або як приховати вміст загальних папок, windows для системних

А користувачі іншого департаменту, наприклад ІТ, - інший.

Access-based enumeration або як приховати вміст загальних папок, windows для системних

Основний недолік використання ABE на файлових серверах - додаткове навантаження на сервер. Особливо це можна відчути на високонавантажених файлових серверах. Чим більше кількість об'єктів в просматриваемом каталозі, і чим більше кількість користувачів, тим більше затримка. За заявою Microsoft в разі наявності в видимій частині каталозі 15000 об'єктів (файлів і каталогів), швидкість відкриття папки сповільнюється на 1-3 секунди. Саме тому, при проектуванні структури загальних папок, рекомендується приділити велику увагу створенню чіткої та ієрархічної структури підпапок, в цьому випадку уповільнення швидкості відкриття каталогів буде непомітним.

Примітка. Варто розуміти, що Access-based Enumeration не приховує від користувача сам список загальних ресурсів (куля) на файловому сервері, а діє тільки по відношенню до їх вмісту. Якщо потрібно приховати від користувача саме кулі, необхідно в кінець назви загальної папки додати символ $.

Управляти ABE можна з командного рядка (утиліта abecmd.exe), з графічного інтерфейсу або через спеціальний API.

обмеження ABE

Access-based Enumeration в Windows не працює в випадках:

Щоб активувати ABE для конкретної папки, включіть в її властивостях опцію Enable access-based enumeration on this shared folder.

Access-based enumeration або як приховати вміст загальних папок, windows для системних

Access-based enumeration або як приховати вміст загальних папок, windows для системних

І в розділі Settings включити опцію Enable access-based enumeration.

Access-based enumeration або як приховати вміст загальних папок, windows для системних

Управління ABE з командного рядка

Утиліта Abecmd.exe дозволяє активувати ABE відразу для всіх каталогів або ж персонально. Наступна команда включить Access-Based Enumeration відразу для всіх куля:

Або для конкретної папки (наприклад, кулі з ім'ям Docs):

ABE в клієнтських ОС: Windows Vista, Windows 7, Windows 8

Примітка. У корпоративному середовищі ABE чудово поєднується з папками DFS. приховуючи від користувача «непотрібні» папки і надаючи більш зручну структуру дерева загальних папок. Включить ABE на DFS можна за допомогою консолі DFS Management або утиліти dfsutil.exe:
dfsutil property abde enable \\