Надати доступ до підкаталогу, не надаючи доступу до батьківських каталогів


12

У мене є сценарій, що включає файловий сервер Windows, коли "власник" хоче дозволити групі користувачів такого типу:

  • \\server\dir1\dir2\dir3: читати, писати та виконувати
  • \\server\dir1\dir2: немає дозволів
  • \\server\dir1: немає дозволів
  • \\server: читати та виконувати

Наскільки я розумію ( оновлення : весь цей абзац невірний!) Зробити це неможливо, тому що Read & Executeдозвіл повинен бути наданий усім батьківським каталогам у ланцюзі каталогів, щоб операційна система могла "бачити" дитину каталоги та дістатися до них. Без цього дозволу ви навіть не можете отримати маркер контексту безпеки при спробі доступу до вкладеного каталогу, навіть якщо у вас є повний доступ до підкаталогу.

Ми шукаємо способи подолати це, не переміщуючи дані з \\server\dir1\dir2\dir3на \\server\dir4.

Одне вирішення, про яке я думав, але я не впевнений, чи спрацює це, - це створення якогось зв’язку чи з'єднання, на \\server\dir4яке посилаються \\server\dir1\dir2\dir3. Я не впевнений , який з доступних варіантів (якщо такі є) буде працювати для цієї мети , якщо користувач не має Read & Executeдозволу на \\server\dir1\dir2або \\server\dir1, але, наскільки я знаю, варіанти такі:

  • Символічне посилання NTFS,
  • З'єднання,
  • Жорстке посилання.

Отже, питання:

  • Чи підходить будь-який із цих методів для досягнення моєї мети?
  • Чи існують інші способи зв’язування чи опосередкованого посилання на каталог, які я не перераховував вище, які можуть бути підходящими?
  • Чи існують які - або прямі рішення , які не пов'язані з наданням Read & Executeдо \\server\dir1або , \\server\dir2але все ж дозволити доступ до \\server\dir1\dir2\dir3?

Це можливо. Користувач побачив би каталог, але якщо йому не надано дозвіл на читання, він не може бачити вміст каталогу, досить простий у налаштуванні.
Рамхаунд

Це було і моє запитання. Дякую за те, що підняли дискусію. І для оновлення свого питання, щоб негайно відобразити, що ваше припущення було неправильним.
тирон

Відповіді:


15

Ви помиляєтесь у своєму первісному припущенні, яке надає решту запитань.

Мінімальний дозвіл, який користувачеві знадобиться dir1і dir2є Traverse Directory. Це, швидше за все, буде проблематично для ваших користувачів, - тому я б рекомендував Traverse Directory і List Folders . Вони зможуть переходити через два найпопулярніші каталоги та діставатись туди, dir3де вони мають більше дозволів, але навіть не побачать, які файли існують у двох найкращих каталогах.

Дозволи мають, як Read & Executeі Modifyє лише сукупністю окремих дозволів. Вони перше, що ви бачите, адже вони найчастіше використовуються. Якщо вам потрібно отримати дуже детальну форму (наприклад, ця ситуація), натисніть Advancedкнопку та виконайте параметри, перелічені там.


Відмінна інформація (2)! Але є щось, що я не наздогнав: "Це, швидше за все, буде проблематично для ваших користувачів". Чому це було б проблематично? Іменування досить просте в тому сенсі, що "Траверс" видається єдиним необхідним дозволом. Яких проблем слід очікувати користувачам?
тирон

12

Дивовижно, якщо особа має повний шлях до підпапки, на якій вони мають принаймні R-дозволи, вони не потребують дозволів на будь-яку з батьківських папок, навіть не проходять. Вони можуть просто отримати доступ до нього за допомогою UNC. (Вони, звичайно, повинні мати права на читання прав на доступ до спільного доступу; лише не в папках вище рівня, до якого вони хочуть отримати доступ).

Я не повірив цьому, коли мені сказали, але тестування це підтверджує.

Це суперечить тому, що я думав, що знаю про дозволи в світі Windows, і я підозрюю, що стане для багатьох несподіванкою.

\ сервер \ папка1 \ папка2 \ папка3

Якщо дозволів для Більбо взагалі немає у папці1 та в папці2, але Більбо змінив (наприклад) у папці3, \ сервер \ папка1 \ папка2 \ папка3 візьме його туди, немає проблем.


Це працює , коли folder1має дозвіл на доступ і дозвіл NTFS встановлені на folder3Так що це \\server\c$\folder1\folder2\folder3не працюватиме.
user2304170

1
Щоб додати до цієї відповіді, ця неявна "здатність" переходити до батьківських папок у підпапку, хоч і глибоку, до якої у вас є доступ, надається правом користувача під назвою "Обхід обхідної перевірки", що надається в груповій політиці за замовчуванням для більшості / всіх користувачів в більшості випадків. Дивіться itprotoday.com/management-mobility/…, оскільки я не можу тут вставити достатньо, щоб зафіксувати список того, що отримує дозвіл за яких обставин.
Грак

Перевірка обхідної перевірки як права також існує як покращення продуктивності NTFS, що дозволяє пропустити перевірку дозволів кожної папки в дереві на шляху до відкриття остаточної потрібної папки / файлу, тому її не рекомендується видаляти, якщо ви не знаєте, що вам потрібно той надзвичайно високий рівень безпеки.
Грак

1

Одне рішення, подібне до MDMarra, - це встановлення дозволів NTFS таким чином:

  1. dir1 : вміст папки списку грантів (папка "Перехід" / файл запуску, папка "Список" / дані для читання, "Читання атрибутів", "Читання розширених атрибутів", "Дозвіл на читання")
  2. АЛЕ виберіть цю папку лише для застосування у спадному меню
  3. dir2 : вміст папки "Список грантів" та застосувати лише до цієї папки
  4. dir3 : надайте потрібні дозволи для читання / запису та застосуйте до цієї папки, підпапок і файлів або лише підпапок та файлів

Кінцевим результатом є те, що користувач / група може прочитати кожну батьківську папку та перейти до дочірньої папки без будь-яких інших папок чи файлів.


Це не схоже на відповідь MDMarra, тобто відповідь MDMarra, викладена більш детально.
Скотт

0

Тому я тестував це в наступному середовищі, оскільки хотів отримати остаточну перевірену відповідь про мінімальний необхідний дозвіл для простого переходу папок за допомогою перегляду (тобто через Провідник файлів Windows). Ось результати для тих, хто хоче зафіксувати речі.

Я ще не перевіряв цього на виробництві, щоб побачити, чи є якісь незвичайні побічні ефекти від розбору "стандартного" добре перевіреного шаблону прав на перехід

  • Поперечна папка
  • Список папок
  • Прочитайте атрибути
  • Читайте доп. Атрибути
  • Прочитайте дозволи

... що в основному є звичайними дозволами "Читати та виконувати", обмеженими на "Ця папка". Однак, дрібне тестування на сьогоднішній день було повністю нормальним для користувачів, які просто переміщували, копіювали та видаляли файли на сервері, а користувачі повністю відпрацьовували серверні копії документів тощо.


Навколишнє середовище:

  • Сервер : Windows 2008 R2 - мало що не групова політика, нічого не змінилося стосовно прав користувача, налаштований як контролер домену, інтегрований в DNS DNS, дуже стандартний / базовий параметр.
  • Клієнт : Windows 7 SP1 - Очистіть установку у віртуальній машині, перезавантажте між будь-якими змінами, щоб забезпечити щоразу відновлення з'єднання з сервером.
  • Обидві установки випрацювали щонайменше наприкінці 2017 року, настільки ймовірно, що актуально для будь-якого пов'язаного з дозволами, які на даний момент є дуже вкладеними на часовій шкалі Windows.
  • Доступ до спільної папки, встановленої як постійний мережевий диск (\ server \ share -> S :) у вітчизняній машині. Дозволу на ділення були групою Read / Change для автентифікованих користувачів, яка охоплює тестового користувача та всіх інших, які, можливо, коли-небудь потребуватимуть доступу.
  • Після кожної зміни я перезапустив програму VM, відкрив Провідник файлів і просто переглянув спільну частину звичайно, йдучи шляхом, я знав, що тестовий користувач має ці права на обхід відносно тих, яких він не зробив.

Результати:

  • Потрібно у кореневій папці : ListFolder-ReadData + ReadAttributes (2х дозволів)
  • Потрібно для папок: ListFolder-ReadData (1x дозвіл)
  • Необов’язково : TraverseFolder - ExecuteFile

    -> Цей необов'язковий дозвіл має значення лише в тому випадку, якщо право користувача Bypass Traverse Checking було явно заборонено, оскільки воно за замовчуванням увімкнено у 99% обставин. Інакше кажучи, увімкнене право користувача "Обхід перевірки обходу" (викрито в груповій політиці, а не в дозволах на файли / папки NTFS) повністю скасовує цей привілей і ефективно робить цю привілей увімкненою скрізь за замовчуванням. Примітка. Я не перевіряв, чи явний заперечення цього права, в свою чергу, зупинить право користувача користувача "Обхідні переходи", щоб воно набуло чинності в конкретному випадку, але це може бути).

Додаткова інформація: Право користувача "Обхідна перевірка обходу" дозволяє комусь пасивно переходити до підпапки, хоч на багато рівнів глибокої, щоб вони мали доступ безпосередньо (тобто дозволи встановлюються в цьому файлі / папці, але не обов'язково деінде далі вгору шлях до файлу).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.